You can fix the routines, but it could be a daunting task. There are very many different scenarios that have to be addressed.
If the program makes lines or various types of polylines via (entmake), all points are stored in WCS and group 210 must be specified. 210 is defaulted to WCS (0 0 1). Some dimension points also are WCS, some are UCS That could be a lot translating points.
Some editing commands force the selected entity to be in the cuurent UCS.
So every routine would have to be checked. -David