Here´s my advice based on analysis for the product I have been working on lately:
Edit full grid at once or only one
row at a time: this choice depends on
whether the rows are related or not
and whether you want the user to bulk
edit. For our ERP system we chose to
edit one a time to avoid conflicts
but also users by accident editing
values.
Placement Edit controls: first, I would go for a icon/button, which does not need translation. Second, I would place it to the left of the row, in a fixed position. This makes it easier to relate the button to the row (in your proposal there is a wide gap) and this reduces mouse miles (also see Fitt´s Law) as most users follow F-pattern navigation.
Add to top or to end of the grid: both can be defended. I am in favour of adding to top and inserting based on selection, for the following reasons:
Context - Users often need the context of other rows to help enter new ones for example to reuse order line information such as customer, product nrs, etc.
Jerks- When adding to bottom this causes sudden movements taking you somewhere you did not want to go
Ergonomics - bottom of screen adding is not as comfortable as mid or top of screen
Referenced products: Powerpoint (new slide is inserted now, in the past it was added to the bottom), Windows 7 (new folders are added to top, duplicated files are added just below the original), Quickbooks, new rows are added below the currently selected one
Looking at your screenshot it looks like your rows cannot be selected. If they can, then it is recommendable to add a row close to the selected row. This makes it easier to reuse already existing row information.
You can try our (pre-alpha) product in action here: http://demo.openbravo.com -- open a sales order grid for example and play with the grid if you like. Good luck, Rob