Hey Skylar!
Welcome and thanks for postin'.
As far as returning no data on a non-200 response, it's on purpose. The goal of JSONRequest was to, as strictly as possible, follow Douglas Crockford's proposal.
http://json.org/JSONRequest.html.
I belief his rational for this behavior is captured in that page in the security section:
"JSONRequest reveals very little error information. In some cases, the goal of a miscreant is to access the information that can be obtained from an error message. JSONRequest does not return this information to the requesting script. It may provide the information to the user through a log or other mechanism, but not in a form that the script can ordinarily access."
Let me know if you agree with his reasoning, or you feel we've misread.
nice to have you around :)lloyd