You bring up a good point in your last sentence. The UDF problem is real in that the dictionary doesn't match the physical file but may be a red herring in terms of what the error message you first posted means. Why don't you run this from SYZCON it might give a better error. The 2nd line should give an error while the 1st one might. You can type BYE when you're done to exit the screen.
oCustomer1 = NEW(""AR_Customer_bus"", %SYS_SS)
oCustomer2 = NEW(""AR_Customer_ui"", %SYS_SS)