Problem is that restart (ctrl-alt-home) capability does not work on Windows 7 (with UAC turned on) or Windows XP.
restart_fix.diff should give a solution:
If execvp() failed in Windows, DOSBox will try to create process with CreateProcess().
This diff is Windows-specific and will not harm anything to other platforms.
first diff
I've tried to reproduce this on Windows XP SP3 with a restricted user accout using both MB6 (compiled with VS2003) and your 20101110.zip, but couldn't. Maybe it depends on some other circumstances too, like http://readlist.com/lists/cygwin.com/cygwin/0/4898.html ? What are the parameters when execvp() fails and what is the returned error?
Some Windows XP / 7 users reported they could not successfully use restart feature. I only have Windows 7 (x86-64) now and restart worked fine.
I've tried XP mode (with virtual PC) in Windows 7 and found that DOSBox "ignores" execvp(). I just added LOG_MSG() after execvp() for a test, and it outputs log messages. (in XP mode)
I found your vs2003 build can restart itself in XP mode. The restart problem might depend on some other circumstances as you said.