I have a different model of D-Link. I checked your manual at http://laureldsl.net/pdf/D-Link%202640B%20UserManual.pdf In there it appears that you have Port Forwarding option but not Virtual Server option. Is that correct? OTOH, I also looked at the D-Link site and see a manual at ftp://ftp.dlink.com/Broadband/dsl2640B/Manual/dsl2640B_Manual_100.zip - where it does describe a Virtual Server function - so I am not sure which version of the router you have.
In any case, with Port Forwarding, you have to use the same port number both publicly and locally whereas with Virtual Server you can map a public port to a different private port.
If you are using port forwarding, in the manual for your router it says (emphasis added):
Use the PORT FORWARDING window to open ports in your router and
re-direct data through those ports to a single PC on your network
(WAN-to-LAN traffic). The Port Forwarding function allows remote users
to access services on your LAN such as FTP for file transfers or SMTP
and POP3 for e-mail. The DSL-2640B will accept remote requests for
these services at your Global IP Address, using the specified TCP or
UDP protocol and port number, and then redirect these requests to the
server on your LAN with the LAN IP address you specify.
As you can see from the parts I bolded, the manual only talks about providing the port forwarding for remote WAN-to-LAN traffic - while you are trying to use it for LAN-to-LAN. So I suspect that what you want to do is simply not supported with vanilla port forwarding. Have you asked the D-Link technical support about this issue?
Now, if you have Virtual Server, then you may have a setup similar to what I have. I have defined several ports to route to local machines - in only one case did I map a public port to a different private port. When I use the publicIP:publicPort and the public & private ports are the same, I have no problem using it both locally and externally. However, when the ports are different - I also have been having a problem, but I have not yet tracked it down.
So my first suggestion is to try using the Virtual Server option and use the same port internally & externally - see if that helps. If you don't have the Virtual Server option, you can try turning to D-Link's support & see if they can advise you how to resolve your problem using vanilla port forwarding.
Good luck,
Yosh