I'm not as familiar with OS X server as Windows server but it sounds like there might be a DNS record for your external IP in the DNS configuration... I would look for it in the Server Admin GUI and remove it if it exists.. then flush the DNS cache on the server.
I would also check the laptop's network configuration under ADVANCED... see what is in the DNS records for the connection you are using. Delete the external DNS record if there is one and make sure your internal DNS record is showing up there.
That is a strange DNS issue... The only thing I can think of is that when you logout the DNS server changes. Do you have some sort of RADIUS authentication on your network where users have to authenticate to the network to gain access to internal hosts, but can access external hosts without authenticating? If so, that could be causing the problem.