The issue turned out to be, once again, a GameMaker bug - buffer_save[_ext]
no longer automatically creates a save directory, so you have to add
if (!directory_exists(game_save_id)) directory_create(game_save_id);
to Create or Step (before saving temp.shader) for the example project to work.