You could technically accomplish this by storing a player's last map and position in a text file or a new DB table. Then, create a plugin that listens to OnPlayerConnect and send them to the correct map and position. Additionally, a small time delay could be added by using DateTime instead of Thread.Sleep.