I don't personally have experience with tomato, but if it's anything like dd-wrt, there's more than one nvram setting with that mac, with the _hwaddr ones actually only changing what shows up in the webGUI.
try nvram show|grep addr
and look for the old MAC.
Also I'm pretty sure the old 54g's run a broadcom chipset, and in dd-wrt you have to use the WL command to manipulate those. ie: wl -i wl0.1 bssid 00:00:00:00:00:00
however I've noticed in build 21286 at least, of dd-wrt, that setting the mac that way and then re-up'ing the interface only seems to 'take' about 1/10th of the time. I thought the definition of insanity was doing the same thing over and over and expecting different results... yet that's exactly what I have to do with my router.
Yeah, I started to play around with WL this morning and noticed that even after changing it, it was still showing the old mac address.
I have an older WRT54G (2-3?) with a Broadcom chip. So I'll have to try that. I was also able to verify this morning that it was broadcasting the old bssid via the airport tool as well just in case anyone else has similar issues.