Ok, so I solved my problem, but I don't really get why it was a problem.
In my jqGrid call, I had:
dataType: "json",
where, in fact, it is expecting:
datatype: "json",

Why is it that this variable is all in lower case, where other variables like colNames and colModel are in camelcase?
Hopefully me pulling my hair out (not that I had much to start with) will save someone else from pulling theirs out.