The fact that this seems to be entirely legitimate entirely undermines the point of removing the UDID.
"The point" is to make Congress stop yelling at Apple. Forcing developers to jury-rig something other than a system API gives them an out, rhetorically.
I find the word "jury-rigged" to be a stretch for "get the MAC address". There is no difference between the BSD API to get the MAC address and the Cocoa API to get the UDID; maybe to a software historian, but certainly not to a member of Congress: the level of explanation you are looking at there is "a mechanism supported by the vendor that returns a unique identifier for the device".