Ya intentaste utilizar " . " y " / " como parametro del Server.MapPath?
Lo intente y me funciona correctamente. Me devuelve distintos valores cuando la pagina no esta en el directorio default (C:\inetpub\wwwroot)
Código:
<html>
<body>
otra pagina
<br>
actual = <%= server.mappath(".") %><br>
raiz = <%= server.mappath("/") %><br>
</body>
</html>