Jag tror att dina problem kan vara kopplade till hur du ansluter när du arbetar lokalt. Det beror delvis på hur ditt nätverk fungerar och hur du väljer att ansluta.
Ett tänkbart scenario är att du t ex har kopplat ett värdnamn, t ex vnc-gw.dindomän.se till en publik IP-adress så att du enkelt ska kunna ansluta från t ex ett hotell 20 mil bort. Om du då ansluter mot samma värdnamn eller IP-adress hemmifrån kan du beroende på hur du satt upp ditt nätverk råka ut för att datatrafiken som man tycker borde gå direkt den korta vägen mellan servern och klientdatorn tar sig ut på Internet däremellan. Paketen åker ut på Internet, vänder och kommer tillbaka vilket skapar en flaskhals.
Prova att ansluta hemmifrån med VNC-serverns lokala IP-adress eller lokala värdnamn, t ex 10.0.0.42, vnc-gw.local eller liknande om du använder något sådant. Jag råkade ut för ett liknande problem en gång och det var vad som hände.