Yeah, Fasm is a nice assembler. It's frustrating that the syntax is almost the same, but not quite (rb vs resb for example). I think Mike Gonta once wrote some code that would assemble with either, but generally they won't quite assemble each other's code. Shouldn't be too hard to become "multilingual" between those two - compared to AT&T or something.
Anyway, putting Nasm in the directory with the source and then running a batch file which changes directories may be your problem. Better to put Nasm in some directory and then make that directory part of your PATH environment variable. I said "set" nut that's probably obsolete. The Friendly Manual says:
"The only file NASM needs to run is its own executable, so copy nasm.exe to a directory on your PATH, or alternatively edit autoexec.bat to add the nasm directory to your PATH (to do that under Windows XP, go to Start > Control Panel > System > Advanced > Environment Variables; these instructions may work under other versions of Windows as well.)"
What I used to do is have a directory (I called it \cmd - wasn't too bad a name at the time, not so good now) in which I put miscellaneous batch files and executables that I wanted to be able to run from anywhere, and put that on the path, rather than adding a zillion directories to the path. You might want to do the same with PARTCOPY.exe, if you do that. Heck, throw 'em in the same directory with Fasm. Fasm won't mind. One way or another, get 'em on the path so you don't have to run them from some particular directory, and your problems should diminish. If you still can't assemble MikeOS, get back to us.
Best,
Frank