If you change the block delete status while a program is running it should honour it. According to EmcTaskMain.cc block delete is an immediate command in any mode.
This little program should help to show what I mean. start the program ans change the block delete status. No change is reflected. Optional stop seems to work fine.
Chris Morley