DISCLAIMER: Currently I have no authentic links to back my *beliefs* stated below, and I am not very certain about these.
As far as I know, successful MAC cloning (also called "MAC Spoofing") depends upon the capability of the driver. The network manager does the job of communicating with the driver to get the job done. As such, the bug can be either in the driver or the Network Manager.
Another way to do mac spoofing is to use the "ifconfig <interface> hw ether <MAC Address>" command. For example -
If this works, the bug is in Network Manager (package name : network-manager, network-manager-gnome). If it fails, the bug *may be* in the driver (ath5k).
sudo ifconfig wlan0 down
sudo ifconfig wlan0 hw ether 00:aa:bb:cc:22:44
sudo ifconfig wlan0 up
In case the bug is in Network Manager, you should be able to use a different network manager successfully like 'Wicd' or WPA-Supplicant directly.