After talking to a few people, and asking around here, I feel like the only way to securely do calls asynchronously is with an updatepanel.
(Context: Creating an Upvote/Downvote system on SharePoint inside a Site Definition)
I have a Repeater nested inside an UpdatePanel that is successfully making the data calls, and fairly quickly it seems.
I did this for security reasons. I wanted to remove the possibility of vote hacking which could be quite easy with an AJAX based solution.