I looked in CoreUnits.xml and added the following the following lines to the Urxen Betrayer :
Code: xml
	- <Prereq>
-         <Type>AbilityBonusOption</Type>
-         <Attribute>StartingUnits_Shadow</Attribute>
-         <Target>Player</Target>
- </Prereq>
When I loaded my game the unit was still unavailable. I then started a new campaign and noticed my tyrant wasn't the default one. So I pressed on the default button. When I started the game, both Urxen betrayer and the scout were available(the scout wasn't available in my previous attempts but I did not notice it earlier). 
I don't think it's related to the xml modifications, but perhaps the custom tyrant does not have the shadow_player flag set?