Seems to me that simply calling whatever function loads the icon positions after the rest xfdesktop has finished starting up would solve most of this. To prevent the position file being corrupted while starting (as it currently does) the file *should only be written out when the user expressly places an icon* and only save the position of icon that have been expressly placed. This would have the added benefit of any other icons tidying themselves up into the auto-arrange corner as others were moved away.
Seems to me that simply calling whatever function loads the icon positions after the rest xfdesktop has finished starting up would solve most of this. To prevent the position file being corrupted while starting (as it currently does) the file *should only be written out when the user expressly places an icon* and only save the position of icon that have been expressly placed. This would have the added benefit of any other icons tidying themselves up into the auto-arrange corner as others were moved away.