Hi Jay M
I think you will have to debug this. This is not standard. There is something happening because of the Custom Code
What Mukhtar said applies when you want to apply a different useful life to Sub Asset. But in your case, you are already able to maintain that. Your problem is it gets overwritten when you change a Custom Field. Right?
Please get it debugged, buddy
Ajay M