Sounds like it could be something to do with your forward rules. I remember having a similar issue on a w2k server several years ago, i could see everything on the network but not not the actual machine i was connected via pptp too.
Not sure if it helps but i have pasted below a iptables from one of my vpn servers i am on with now. It works for both pptpd and openvpn. Its complete apart from some random ports i open. If your on centos jut copy it to:
/etc/sysconfig/iptables
and then
service iptables restart
# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*nat

REROUTING ACCEPT [79:6173]

OSTROUTING ACCEPT [2:365]
:OUTPUT ACCEPT [2:365]
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
*filter
:INPUT ACCEPT [0:0]
:INPUT ACCEPT [0:0]
-A INPUT -i tun0 -j ACCEPT
-A INPUT -i ppp0 -j ACCEPT
-A INPUT -p gre -j ACCEPT
:FORWARD ACCEPT [0:0]
-A FORWARD -i tun0 -j ACCEPT
-A FORWARD -i ppp0 -j ACCEPT
:OUTPUT ACCEPT [0:0]
-A OUTPUT -o tun0 -j ACCEPT
-A OUTPUT -o ppp0 -j ACCEPT
-A OUTPUT -p gre -j ACCEPT
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT