I believe this is an issue with Ajax and RadListBox. Please find below my explanation to another client what is going wrong. In his case the same error was being thrown upload transfe:
When you transfer (reorder) items from the source listbox to the destination the changes are written to the client states of the both listboxes. This is done for the sake of playing the state on the server and correctly updating the view state of the both controls. What happens when you postback is precisely the same. Both listboxes play their client states and the changes in question take place. The source loses 3 items and 3 items are appended to the destination listbox. Then, both RadListBoxes clear their client states because they have already played the changes. Now, what happens when you don't update the listboxes is that they client state is not correctly cleaned. In fact it is not cleaned at all. However, the viewstate of the page is updated by RadAjaxPanel and the changes made to the listboxes are saved there. Then, on a subsequent postback both listboxes try to play the very same client state once again which leads to the error that you have faced. You can verify this behavior If you inspect the source/destination RadListBox ClientState using a tool like FireBug. Compare the situation when the listboxes are not updated by RadAjaxPanel and when they are updated.
In short, whenever changes are made to the client state of RadListBox the async postback should update the latter.
To summarize, every time there is ajax postback, the listboxes should be updated, if there had been transfer/reoder/client insert operation.
All the best,
the Telerik team
Sharpen your .NET Ninja skills
! Attend Q1 webinar week and get a chance to win a license! Book your seat now >>