It seems this may be a bug in android as described here: http://code.google.com/p/android/issues/detail?id=2059
Current workaround I'm deploying is using a WakeLock (as described in the above bug-report), however this does not alleviate the issue on it's own (or at all?). So I've further created a TimerTask that ping's the server every 5 seconds... Combined (or on its own?) is seems to do the trick.
It'd be great to see if it works on its own without the WakeLock but I'm sick of debugging the issue right now... If this works I'm happy.
This does waste more battery than ideal so let's hope that the WifiLock is fixed with later versions of Android, maybe it's fixed in >1.6.