The crewcount monitoring if a good idea, but counttype would only return the count. Instead use typeOf. Here's one way:
#start
_crewcount = (count crew vehicleName)
@ (_crewcount != (count crew vehicleName))
_newCrew = (crew vehicleName) select ((count crew vehicleName)-1)
_newCrewType = typeOf _newCrew
goto "start"
That would ofcourse create lag as much as you have vehicles running that .5 second "loop".