Apologies, my explanation was not too clear.
We elected not to move the code. Instead we installed all of our Informix products in /opt/informix (given that we couldn't redirect the install of the engine, we decided to reinstall the 4gl and sql in the same location). So now we have 4gl,sql and IDS in /opt/informix - all installed without a hitch.
The problem now appears to be running (initializing) the engine. If we try to use onmonitor we get a problem with libncurses.so.4 not being available. If we then symbolically link libncurses.so.4 to libncurses.so.5, onmonitor 'pseudo' works ok, apart from it ignore the first press of the Esc key and the menu bar navigation is also limited. If we go all the way through to the end of the onmonitor session (soemtimes having to press the Esc key twice, or the Esc key followed by any other key), we eventually get the GLIBC error as onmonitor tries to initialize the database.
If we go straight to initialization (by manually modifying the onconfig params) via oninit, we get the GLIBC error straight away (hardly surprising really).
Is that any clearer - you wouldn't believe that English was my mother tongue would you?