I had the same error when I first started using client callbacks (__pendingCallbacks[..] async is null...). The solution to my problem was getting rid of all the local variables 'i' in javascript on the client side. Turns out, that the WebResource.axd file generated by aspnet to handle posting callbacks has a global variable 'i', which is used to iterate through pending callback requests in the WebForm_CallbackComplete method. If you declare a loop outside the file in your own code like this
for(i=0;i<x,i++)
you are unknowingly incrementing the value needed to receive pending callback requests. I found the easiest to circumvent this problem is to just get rid of my client side 'i' variables. This problem was insanely annoying before I figured it out.
Hope this helps.