I just spoke to Apple support who said I have 90 days free support since upgrading to lion.
I told him I had done a new location, changed the wireless channel, done a ping which eventually dropped out, tried nearly all the fixes/workarounds mentioned on these forums.
He told me to do the following:
1. Unplug all cables from the iMac, including the power, for 10seconds, and then plug them back in.
2. He then made me locate the Cmd, Alt, R and P keys and told me that I shoudl turn on the iMac and immediately hold down these keys and keep them held down until the iMac had made the 'power-on' chiming sound three (3) times in a row.
3. Then release the keys and let the iMac start up as per normal.
I did this.
The first difference is that I am able to turn off the wireless, then turn it on, and it will reconnect to the router. My iMac has NEVER done this before. It would never be able to even find, let alone reconnect to the router once I turned the wifi off and back on. So this was an exciting development. I tried it a few times - wifi off, on, off, on - and each time it reconnected to the router without any problem.
Then I put the iMac to sleep and woke it up. It reconnected to the router fine. Now the test is to leave the iMac alone for an hour or two and see if it is still connected when I come back to it - THIS WILL BE THE REAL TEST AS PREVIOUSLY IT ALWAYS DISCONNECTS WHEN I LEAVE IT ALONE FOR A WHILE AND THE ONLY WAY I CAN RECONNECT TO THE ROUTER IS TO REBOOT.
I will keep you posted but I am quite excited at the moment as I have had this problem for the last three years (and it got a lot worse since I upgraded to lion).
Cheers