Хорошо, так получается, что Windows поймали меня на присоску. C: \ a.txt на самом деле был C: \ a.txt.txt из-за приятных маленьких окон возможностей «скрывать расширения файлов для известных типов файлов» ... aaargh !!
Также обратите внимание, что это работает, только если файлы находятся на одном и том же томе, поскольку вы не можете использовать опцию MOVEFILE_COPY_ALLOWED при использовании MOVEFILE_DELAY_UNTIL_REBOOT.