Hm, I would do the random selection another way (once I had problems with random unit from group, too)
Create a integer variable (e.g. "RandomChoose)
Events:
same as yours
Condition :
same as yours
And now in the action you choose a random integer between 1 and 10 (if you have 10 heros, for example)
Wait a sec so WC3 can do it and then you create an If/Then/Else function for every hero that checks the number and starts the action/trigger to select one of the heros for the player.
Action:
Set RandomChoose = (Random integer number between 1 and 10)
Wait 0.10 seconds
If (RandomChoose Equal to 1) then do [e.g. Action for Bloodmage as Hero] else do (Do nothing)
If (RandomChoose Equal to 2) then do [e.g. Action for Paladin as Hero] else do (Do nothing)
If (RandomChoose Equal to 3) then do [e.g. Action for Cryptlord as Hero] else do (Do nothing)
etc