das mit openlayers.dev ist geklärt. das braucht man, wenn man einen proxy einsetzt.
du hast ja etwas weiter unten

 
function init() {
//set up projections
 OpenLayers.ProxyHost = "/cgi-bin/proxy.py?url="

stehen. brauchst du den? da komm ich nämlich nicht weiter, da ich sowas noch nie gemacht habe.
sollte das nur für die wms-hintergründe notwendig sein, schalte diese (und auch den proxy-host) temporär ab.

hier ist ein foren-Beitrag, der wahrscheinlich dein Problem beschreibt. ob da ne lösung steht, kann ich nicht beurteilen.
http://gis.stackexchange.com/questions/21761/setup-own-openlayers-proxyhost

jedenfalls gibt es da einiges zu beachten, sonst funzt es nicht.

erscheint mir sogar noch plausibler als das vpn.

Gruss
walter

ach ja, wenn ich nur die html-seite (map.html) auf meinen lokalen mini-server lege, bekomm ich das:

also es funktioniert im Prinzip - es sei denn, du hast uns verschwiegen, wann genau der Fehler auftritt. der seitenaufbau klappt erstmal bis auf das rosa zeug.