I found it!!!
The code that was producing the error was a modification of code I have had running for 3 years.
So I went back to the archived earlier copy and went slowly thru the modifications I had made.
In the subroutine that was bombing I had made a change that potentially resulted in another totally unrelated list being referenced before it was initialized.
For some totally bizarre reason, this was causing the reference to the other list (that was initialized) to bomb - before the bad reference was even executed.
So moral is: if you get a list bombing on you as "uninitialised" and you can't work out why - check all other lists in the same routine.
I'm guessing this may apply to maps also?
Does this qualify as a bug? - see...