In the past I was able to determine if there were unsaved changes by reading the dirty
flag from the datasource. I'm not sure if this is documented with Kendo at all, I just found it by chance poking around the datasource. Hopefully it will help you out.
For "myGrid":
var boolDirty = false;
$.each($("#myGrid").data("kendoGrid").dataSource._data, function () {
if (this.dirty) { boolDirty = true; }
});