The ability to have the interrupted function stop executing after the interrupting function is completed is not automatically available in MATLAB.
However, it is possible, as shown in the attached example "interrupt_stop", to code this logic into the loop. Notice the callback structure for PushButton1:
Inside the FOR loop, once the callback is interrupted, the function will execute completely, and then return to where it left inside the FOR loop. Eventually it will reach the IF statement with a TRUE condition, which will trigger the execution of the RETURN command, and therefore stop the execution of the original callback.
In this example, the functions SETAPPDATA and GETAPPDATA are used. These functions allow for the creation of user-defined properties, in this case "Callbackrun".
Example is now included. Please note this question is intended for the R2006b release of MATLAB and the example might not work in newer releases.* If you are still having an issue with callbacks, please try MATLAB App Designer (the replacement for GUIDE), or contact MathWorks technical support. *