I could be an issue with background tasks, ports, firewalling, router, CPU, network card, lan cable, etc.
The fact that it still has to go to your ISP and then back to the other computer (if its a different IP address/account) would still result in a ping, while it should be resonably low. If you are connecting both computers to a router and doing it like that, then you are having port problems. Open DMZ in the router and see what happens. From there you'd have to assign Port forwards to BF's client on BOTH machines IPs if you had no problems while DMZ was active.