All we knows this annoying situation, when you logged off in the boat or someone put claim/barrel/cart on the tile where you was.
So I think it should be corrected this way:
1) if you logged off on the ground, server will check, are you in the claim and do you have access.
if yes — checking nearest 8 tiles around to log in in the free space. If tiles are not free, checking around this square (4x4) line.
If it is still impossible to stand on — game choose random point in the 50 tiles radius and checking again.
2) if you have no access to claim — game choosing random point on the border of claim. If it is free (and it is not water) — retry.
3) if you log-off on the water — game checking is there free boat on the water, without claim (or with claim with access) in the 50 tiles radius, and you can log in on the boat.
4) if boat was stolen or bugged, and you logged off on the water, game checking is there ground around you: choosing three random points 15 tiles far, if not, then 30 tiles far, if not, then 100 tiles far. If this tile is ground-> goto instruction (1)