1) The reason I would add the marker is so that if the (team or unit) is discovered AGAIN after the first time it's discovered it won't be transferred again. You could also disable all other transfer scripts and get the same result. I just find placing a marker unit on the map and removing it with the script saves time in editing scripts.
2) You know when you are starting a game and the screen where you pick the players, colors, factions and teams? These are referred to as rooms. The human player will always be in the first room and would be called "player0". The other players going down this room list would be players "player1" through "player7".
3) From what you're describing it sounds like you are spawning a unit based on a counter value... This is fine. I'd spawn a named unit at a waypoint and transfer the unit to the player.
First I'd set the counter to a value.
*** IF ***
True.
*** THEN ***
Set 'SpawnCount' to 0
Then I'd make your spawn script to check the counter value and if the building is garrisoned by a player. You'll then spawn at waypoint, transfer the unit (and add to the counter if this is what you wish).
*** IF ***
Player 'player0' has entered building named Unit 'TheBuilding'
*AND* Counter 'SpawnCount' IS Equal To 0
*** THEN ***
Spawn Unit 'Tank1' of type 'AmericaTankCrusader' on Team 'teamPlyrCivilian' at waypoint Waypoint 'SpawnPoint'
Unit 'Tank1' is transferred to the command of Player 'player0'
Add 1 to counter 'SpawnCount'
This would spawn and transfer the unit to the human player or "player0". If you are adding to a counter with a timer to change both the counter value and the type of unit spawned this is fine. Just make copies of this script and change the counter value in the condition part of the script and the type of units as you wish.
Keep in mind that these scripts are only referring to player0 or the human player in the first slot or room. If you want this to work for other players, you should make a copy of the spawn/transfer script and change the player to "player1" for the second room, "player2" for the third room etc up to "player7" for the last room.
You can always "Attach" a zipped up copy of your map to your post by checking the "Attach files to this post?" checkbox if you need someone to help you with it.