If the transport operation is not successful (in your case the update Ajax request fails), the DataSource will attempt to re-submit the changes during next synchronization. In other words the changes will be still considered as pending.
If you want to revert the changes upon transport failure, I suggest hooking up to the error event
of the DataSource and calling cancelChanges method
On a side note, I do not understand what you mean by "Because once the $ajax tanks the data from the kendo DS is now *BAD*...
". In case you need further assistance, please provide a more detailed description.
Join us on our journey to create the world's most complete HTML 5 UI Framework - download Kendo UI