Bit of a strange one.

I did all the things you suggested, checked for multiple TNSNAMES and LISTENER files (there are none), and stopped and started the process again using

lsnrctl stop
lsnrctl start

I then renamed the listener.ora file to listener.bak and low and behold I can still tnsping the database with a positive response.

If you have no more suggestions then I guess I will have to bounce the box

Cheers

Alison