Did you ever try to patch those bytes in the VBR in memory only? So that you still have the GRLDR string in the VBR on disk and only patch the string in memory whem you chainload io.sys. Or won't this way work (VBR read again from disk by io.sys instead of from memory)?
No, I didn't try it in the end. Even if it worked it would mean a fix in every menu.lst that uses MS-DOS and so could not be included in RMPrepUSB but would have to be included/ammended by the user themselves and most would not bother to find and fix the problem.
I must admit I am slightly suprised by the attitude of the grub4dos/grubinst maintainers. Recently, two long-standing and serious bugs (i.e. no boot) in grub4dos/grubinst/grldr.mbr code have been reported and the maintainers do not seem to consider them important enough to fix them. Instead they offer that I make a new divergent stream for the code source? I am not at all experienced in linux or using and maintaining such code and if I tried to do it, I would probably do it wrong!
1. MS-DOS does not boot when grub4dos code installed to VBR
2. Acer Travelmate BIOSes (and probably many others too) do not like the MBR code start bytes used by grub4dos and refuse to boot.
Surely these two bugs are worth fixing in the main code source files? Apparently not