I would like to 1) use macchanger to alter my MAC address, then 2) associate to my AP using iwconfig.

That sounds like:
ifconfig wlan0 down
macchanger -a wlan0
ifconfig up

iwconfig wlan0 essid "my essid" channel 1 #optional: set other properties
iwconfig wlan0 ap xx:xx:xx:xx:xx:xx #should associate here

The point is that I can associate to the AP only if I skip step 1), ie. if I don't use (GNU) macchanger.

Is this the expected behavior, or should the association still happen ?