You are right, you do not need to open holes if the connection is initiated from inside-to-outside. Is it possible that when you connect to the outside client, the outside PC initiates a NEW a session on same ports back to inside, and since you do not have a static and access-list, it blocks it. Check the logs on the PIX if you get TCP 5631 and UDP 5632 denied for any inbound connection.
Another test to narrow down the possiblity to be on the ISP side:-
put a PCAnywhere PC on the inside subnet of the PIX, and another on the OUTSIDE subnet of the pix... see if you can then establish, if yes; then you know; the problem is on your ISP side. If not, then check if there is any firewall running on the PC itself where PCanywhere is installed.
HTH
R/Yusuf