the problem, developing it for lan is, that the times, packages need in lan are VERY different to those over the internet.
I had a character moving over a plane, sending position and a directionvector, everytime movement changed. other clients recieved those pages from the server and displayed them. when a position an a walking vector was recieved, the clients interpolated movement until the next package was recieved. when the next one was recieved, the player was set to that position (easy way of errorcorrecetion in interpolation) and so on.
In my LAN everything worked fine. Sometimes, player jumped alittle, but that was not often enough to bother in that timeframe of development.
Than I wanted to show a friend, how it goes on with the project, so I send him the client and uploaded the serverapp onto my dedicated server connected over 100mbit to the internet. it was horror. players jumped around everytime they moved. So I needed to interpolate between my current position/vector and the new position/vector and only "reset" it, when the position is too much out of sync.
As you want to develop a shooter, you need the clients to be in sync, otherwise shooting each other would be impossible. You should build the netcode on the worst networkpossibility the client shall work with.
If you want your game run on ISDN you should develop it over ISDN or emulate it with tools.
Afaik is there a VERY good tool from Microsoft, that Xbox2 developers get, to emulate the minimal requirements for xbox games.