Проверил в другой (х32) системе и там всё работает. Вчера порыл ещё информации и проблема может быть в реестре там у меня разные значения в ветках для HKLM и HKCU для параметров командной строки. Файл для экспериментов заработавший на 32 битной Windows, но выдающий ошибку на 64 битной, хотя должен работать:
Select MessageRequester("Внимание! ", "Удалить программу и её каталог?", #MB_YESNO|#MB_ICONWARNING)
Case #IDYES
PathPart$ = GetPathPart(ProgramFilename())
If CreateFile(0, "del.bat")
WriteStringN(0,"@echo off", #PB_Ascii)
WriteStringN(0,"chcp 1251", #PB_Ascii)
WriteStringN(0,"CD\.", #PB_Ascii)
WriteStringN(0,"timeout /t 5 /nobreak >nul", #PB_Ascii)
WriteStringN(0,"rd /s /q " + Chr(34) + PathPart$ + Chr(34), #PB_Ascii)
CloseFile(0)
RunProgram("del.bat")
End
EndIf
Case #IDNO
MessageRequester("Внимание! ", "Отменено пользователем")
EndSelect
; IDE Options = PureBasic 4.51 (Windows - x86)
; EnableUnicode
; EnableXP
; Executable = 1.exe
; CompileSourceDirectory
Короче проблема быстрее всего у меня в реестре, знать бы ещё что там изначально было.