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/