I've just tried with Windows 7 and it does not work for me either. The port will be forwarded, but not remapped, it. It will be still localhost:3306, which collides with the local server in your case. The puttyPuTTY documentation also says, that this would be the right way, but maybe the new security model of Windows Vista blocks the remapping of the ports.
I'd suggest, if you are using port 3306 locally, not to tunnel to localhost (which is normally mapped to 127.0.0.1), but to tunnel to another IP address in your loopback range (maybe 127.0.0.2). If your local SQL server is configured well, it only listens to 127.0.0.1:3306, your remote tunnelled SQL server can listen on 127.0.0.2:3306, so a remapping of the port is not necessary.