I would appreciate feedback on whether what I am doing is sane and
where the operator error might be.

I have box A-home (Win), B-office (Linux) and C-workstation(Linux).
Both A-home and C-workstation have local, DHCP-ed, NAT'ed addresses. B-
office and C-workstation run ssh daemons. From A-home I want to run
cygwin X server and be able to run a single command in addition, that
will:
- open a terminal on C-workstation
- enable me to run X commands on C-workstation with display on A-home
- enable me to run vncviewer on A-home for the xvnc server on C-
workstaton

I set up a straight ssh connection 'b-office-con' in putty with X11
forwarding to B-office; tests great both for terminal and X11.
I set up my 'real' connection with the following in putty:
- Session destination C-workstation (at default port, i.e. 22)
- X11 forwarding
- tunneling L 25900:C-workstation:5900
- proxied with local command: plink b-office-con -nc %host:%port

As I understood the docs, the above should set up a tunnel through B-
office to C-workstation by running plink with the original b-office-
con putty connection definition, and then use it for all other
traffic, including login, X11 and VNC.

Reality:
- login/terminal and VNC work fine, X11 commands on C-workstation
output:
Xlib: unexpected connection setup reply from server, type 108.
: unable to open display "localhost:10.0".

- putty log (from the putty term window's system menu) shows:
2008-10-26 03:45:28 Received X11 connect request from
127.0.0.1:57019
2008-10-26 03:45:28 Starting local proxy command: C:\Program Files
\Putty\plink.exe b-office-con -nc ::1:6000
2008-10-26 03:45:28 Opening X11 forward connection succeeded
2008-10-26 03:45:29 Forwarded X11 connection terminated

Looks to me like after getting the connect request from C-workstation
back to A-home, putty somehow feels compelled to forward it to the
original proxy with a new tunnel, which looks completely wrong. Seems
like all the traffic should go through the tunnel, that was created in
the first place with the proxy.

- what am I missing?
- how should I be accomplishing my goal?
- last resort; is this a bug in putty?

Thanks,

---Sergey