Io l'ho provato esattamente come il tuo codice e funzia.
Probabilmente l'errore dipende da qualche tipo di controllo particolare. Che controlli hai dentro nel form?

Poi per top e left:
comm.left= comm.left* (currW / W)
comm.top= comm.top* (currH / H)