Hi Bruce,
thank you for your answer. Exactly, that's the validatequery function.
As an example you can use the simple one (pi) you quoted on your reply.
http://api.wolframalpha.com/v2/validatequery?input=pi&appid=xxxxx
If I use it with a real AppId no problem: I get the XML as expected. However, if I specify a fake AppId I get that pseudo-json output. Now, this is a request with an error item (code, message) and I think it would be better to deal with it as an XML output, even if it's an error... just to be more consistent.
Let me know if you need other elements! :)
Also, I would give others suggestions about the XML output, if possible.
However, thank you for your hard work on WolframAlpha. I really love it.