I found the explanation why the devices didn't started after TOC reset(delete) and OS reflash.
I made some experiments and the conclusion is that OS reflash will NOT touch TOC block, so if it was deleted it will remain deleted
The device I experimented on has a particularity: toc block is not hidden, just read-only. I made some modifications there using bootmonitor (7 secconds instead of 5 until OS boots, toggle eboot enabled) and after I reflashed the device, both changes were still present. The main conclusion is: if toc block was deleted and if is declared hidden (or bad) block, then it has to be reflashed using jtag; if is read-only (as mine), then can be replaced from any dump using bootmonitor.

