Using findEmptyPosition on some locations will simply return a position that isn't valid for spawning/positioning the specified unit type.
Example: Rocks on cliff east of the road going south out of Agia Marina.
Basically, the the valid check for the positions returned needs to be more strict in order to make findEmptyPosition safe to use.