Okay, I got this to work, but here are the tricks involved:
1) ScriptPath = "/controllername" (leading slash important)
2) ScriptMethod = "actionname"
3) In your action, set the ContentType = "application/json"
4) The response format needs to be as follows: (JSON formatted string)
{ "d" : ["array", "of", "possible", "matches" ] }
Even though, using firebug, the response format from the demo website does not show this "d" property, without it I would get a JS error in IE that the "d" property is undefined. As far as I can gather, this is done for security reasons, though how this makes the exchange more secure I have no idea.
5) Don't do RenderView(), instead use Response.Write(), and write out the JSON formatted string from item #4.