The command "flip" was introduced in R2013b as a more efficient version of "flipdim". I suggest to include a try-catch construction which first tries "flip" and in case of an error uses "flipdim" (or "fliplr", in the case of flip(M,2) as it is used here).
[The more 'clean' way of using "verLessThan" is extremely slow (~5.000x slower than try-catch).]
Excellent utility! There is a bug however with 'ResetCancel' (noticed already by Bryant Svedin in 2013). In order for it to work as intended, I'd suggest adding at line 196 "needs_update = true;"; otherwise, the new value of entries(idx).Cancel is not saved in AppData.