OK, I've attached a modified plugin which will hopefully get you going.
The important take away for you should be DO NOT TALK TO THE UI FOR BUSINESS LOGIC OPERATIONS! The UI is dumb and just displays what the underlying business logic object (in this case billMaintenanceForm.BillMaintenance) tells it to. Therefore, if you want to change the behaviour of the business logic (ie. it's data values, calculations, etc.) then do this in the business logic object (or by intercepting it's events). You should only be talking to the UI for display related modifications such as font colour, or number of decimal places to display in a cell, etc.
The bug I found in the Manufacturing code was regarding the fact that we cannot tell which custom field value changed, only that one of them for a given line changed. Not the end of the world, just inefficient because now we perform our calculations event when we don't necessarily need to. I'll log the bug and update this thread with the bug no.