If you try to use custom db fields in oxaddress, which the user is NOT supposed to see, they will be overridden every time the user selects a delivery address in checkout step 2 and continues to step 3.
=> every time the user will use a delivery address this field will reset to a default value after checkout step 2, the value your module set in finalizeOrder will be gone.
The reason for this is the way oxbase::assign works and the fact that oxuser::_assignAddress does not take care of its flaws.
As we see no values from a potentially already existing oxaddress row are taken into account, it is assumed that (nearly) all values come from $aDelAddress.
The next two lines are due to the fact that "assign" is not clever in any way, oxuserid and oxcountry are set explicitly.
So if you have a custom field in oxaddress its value will be gone after this careless treatment.