Would it be fair to say that every time a check engine light comes up it MUST trigger a code to be stored in the management system or can a light show and NOT always trigger a code?
Normally a code would be stored even if the fault has cleared and the light has extinguished, but there may be exceptions. :-/
I can think of two other possibilities here:
1) The code reader is fundamentally incompatible with the car and, instead of reporting that it has failed to communicate with the ECU, is reporting "no fault".
2) The code reader is communicating with the ECU happily, but the ECU reports no
current faults (only stored ones), so the code reader reports no faults. This is very unhelpful. If it's an intermittent fault you want to know the code is stored!
Have you tried deliberately causing a fault (E.G. unplug an easily accessible component) and checked to see if it will then read a code?
For cheap code readers your choices are between a "cheapo tech 2" complete with very flaky software in a foreign language that will attempt to read codes from several systems on an Omega. Some find them quite usable. Others have no success at all.
For the 2.2,2.6 and 3.2 engines an ELM327 based USB/Serial cable will read the engine only, and also display live data. In my experience these are much more reliable, generally in english and well worth getting if accessing older Omegas is not a requirement.
Kevin