My MAC address keeps changing when ever I turn off the phone or turn on/off the wifi card. It's a big deal because I have to register my device on my network at school, and if it keeps changing it doesn't know who I am.
Poking around on google there are a lot of other folks with this problem (MAC address is re-generated on wifi/phone resets). It seems to mostly be Motorola hardware.
Normally a MAC address is burned into the WiFi device. So it seems very, very odd to generate MAC addresses on the fly like this. Too much software (technically incorrectly) relies on MAC addresses as a stable identifier for an endpoint, so this seems likely to cause more problems than it fixes...
Here's a post about the problem from 2010: https://supportforums.motorola.com/thread/38758
The only useful recommendation I saw on the internet was the obtuse 'WiFi Fixer' app, that is known to work around some problems on early Android wifi handsets. I saw no concrete evidence that it 'fixes' this problem.
Alternatively, you could look into the tools for MAC spoofing (AFAICT, these all require a rooted phone). Then just "spoof" a stable address all the time. Here's a highly manual method: http://blog.thecodecracker.com/hacks/spoof-mac-address-in-android/
Do the MAC addresses repeat, or are they new randomly generated ones every time? It sounds like whatever ROM you're using has MAC spoofing enabled by default.