ok, if you are able to get vnc to work through ssh then you are already able to get into your network behind the router.
the client (the Windows system that is running putty to connect to home linux behind router) will need to be configured to have RemoteDesktop forwarded through the ssh connection established via putty. i use a 'free' port -- lets say 9833 (XP default rdp reversed

)
in putty you will need to go to the Tunnels section [Connection --> SSH --> Tunnels] once there you will need to specify the local port that will be forwarded (9833 in this example)
source port = 9833
destination = XPip:3389
local radio button is ticked
then add
now when you establish the ssh connection with your linux box at home anything that hits your client port 9833 will be forwarded through the ssh tunnel to XPip port 3389 (the default XP RDP port)
now that we have the port forwarding established, using Microsoft Terminal Services Client (MSTSC) to connect to XP Remote Desktop is simple
for NON-XP client:
launch MSTSC and for Computer put localhost:9833 (since locally port 9833 will be forwarded through the ssh tunnel to XPip:3389
this will then connect to localhost:9833 which has been setup using putty to be forwarded through the ssh tunnel to your XP laptop ip port 3389
if the client is XP then you will need to copy the mstsc.exe and mstscax.dll and set the copied mstsc.exe to Windows98 Compatability mode, once that is done use the copied mstsc.exe and follow steps for non-xp client (when i tried to connect default xp mstsc to localhost i would get error about already being connected to this console and it would never be forwarded, but copying and setting to 98 compat mode would work without error)