Hi,
I think it's really hard to say what the underlying problem is. My guess (and it's only a guess) is that there's some exception being thrown when it's in a virtual directory. As you say, it can't be a parse error when it parses OK on another site (unless your references / DLLs in the bin directory are wrong). I'm not sure what to suggest to dig into it further - are there any other relevant messages in the Event Log? Can you attach a debugger and break on exceptions?
Good luck,
Geoff