Reinhard, you're probably right that it's just not using the right driver backend. My /etc/network/interfaces specifies the hostap driver backend. Changing this to the wext driver backend causes it to exhibit the same behavior as nm.
Using kernel package 18.104.22.168.1 (x86) on a Dell Latitude C600.
I don't recall what version the kernel was when this last worked properly. It's an old bug. Is there any other information I can get you that might help?