I had similar problem after compiling my own kernel. So i will try to describe what i think can be the problem.
i3status and iwconfig both use libiw to talk to the kernel. The part of the kernel which was used to configure wireless devices is called wireless extension (Wext). But wext is now considered obsolote and is being replaced by newer subsystem in the kernel (cfg80211, nl80211). Also new mechanism for interacting with userspace was introduced. So if you use newer driver based on cfg80211 you should use iw (which uses libnl) instead of iwconfig to configure your card and get its status.
If you want i3status to get status of your card you can enable Wext compatability layer in your kernel (CFG80211_WEXT).
Networking support -> Wireless -> cfg80211 wireless extensions compatibility
I was thinking about adding libnl support to i3status. But the new API seems a bit heavy and i didn't have time to look at it closer. If i have time i will ask Michael what he thinks about it.