I've just retested M226 from within a GCode file and it's working for me. However:
M226 will only work immediately if it appears within the SD card file being printed; If M226 appears within a macro that is called (explicitly or implicitly) from the SD card file being printed then the pause will be deferred until the macro has completed.