This check is wrong:
if (!IsVirtKey && (Obj.Flags & (Opt::ALT | Opt::SHIFT | Opt::CONTROL)))
return createAccError("Can only apply ALT, SHIFT or CONTROL to VIRTKEY"
" accelerators");
The documentation for those options might want you to believe this handling is correct, but it also immediately disagrees with itself—see IDDELLIPSE in the follow-up example.
Neither MSVC nor windres have an issue with it. More importantly, such accelerators work, at least in the case of ALT.