Aha you add the keys of a empty dictonary to a list and wondering why no members is in there?
Code:
private Dictionary<String, AiActor> allActors = new Dictionary<String, AiActor>();
public override void OnActorCreated(int missionNumber, string shortName, AiActor actor)
{
base.OnActorCreated(missionNumber, shortName, actor);
allActors.Add(shortName, actor); //<=== Added to feed the dictionary
#region actor keys testing
List<string> keys = new List<string>(allActors.Keys);
sendChatMessageTo(-1, "Keys count=" + keys.Count.ToString(), null);
#endregion
}