Uh, I think I have some egg on my face! Unless it is possible that my iMac's MAC address has somehow changed on its own recently :-/, it would appear I've been using the wrong one all this time. Strange since I've tried 4 different WoL methods on different occasions and in all of them used the wrong MAC address (although consistently the same wrong one)! Anyhow, thanks to those of you offering help - it would appear I was beyond help :-O.
A new question. Can anyone here tell me why the following python script will only wake a computer if it has been sleeping for less than about 5mins? All other methods (Wake550, WakeUp, and a Perl script "wakeonlan") successfully wake my iMac regardless of how long it has been asleep. Seems strange that the python script would be time dependent!
s.sendto('\xff'*6+'\x##\x##\x##\x##\x##\x##'*16, ('192.168.0.3', 80))
where # symbols replace the computer's MAC address