So, my first idea.
Concercing visualboyAdvance, i think the cause is the "-" in the name of the emulator.
MAMEEXE=C:\VBA\VisualBoyAdvance-SDL.exe
Atomic consider what is after the "-" as a parameter. (ex : mame -skipDisclaimer).
So the solution, rename your .EXe from VisualBoyAdvance-SDL.exe to VisualBoyAdvanceSDL.exe , and correct the MAMEEXE= to point to the new name.
It should solve your problem here.

For project64 , i think in that case the probleme is "space" in your folders name. I think it could cause problem . So can you try to place the emulor in a folder hierarchy without space characters?
Let me know if it is better.