When you create a new action its ActionList property is not automatically set to the Owner you provide with Create. You have to set ActionList explicitely to make it work.
newAction := TAction.Create(MainForm.ActionManager);
newAction.ActionList := MainForm.ActionManager;
newAction.Name := 'Topics';