You could check if a provider is available for the open IQ by calling ProviderManager.getIQProvider("open", "http://jabber.org/protocol/ibb") and see if it returns a non null value. Providers get configured by Smack's initialization process.
The provider itself is unit tested: OpenIQProviderTest
Even if no provider was in place, then an UnparsedIQ should get created and Smack should answer with an error IQ (at least using beta2).
Therefore, I'm not sure if this is really the root cause. But you appear to be on the right track.