First off, no there is no command - "saving" controls of any sort is not a normal behaviour.
And second: the "no loops" parts of this is going to make your life difficult - because the only reason for saving something is because the content is going to change - and part of the tab control content is it's TabPages collection, each of which has a nested Controls collection which "makes it what it is". Unless you save each TabPage and it's controls then you can't restore the TabControl.
Start start by thinking about what you are trying to achieve, and work out just what you need to save: I do something similar by having a User class which is DB stored, and each TabPage in my TabControl contains a single UserControl which accepts a User and displays their information. That way, I create the tabpage for each user, and fill in the usercontrol for it:
List<User> justUsers = users.Values.OrderByDescending(u => entries[u].Max(r => r.CreditLimit)).ToList();
foreach (User user in justUsers)
{
tp = new TabPage(user.LongName);
tp.DoubleClick += UserTabPage_DoubleClick;
tp.Tag = user;
UserDataView view = new UserDataView(user, entries[user]);
view.Dock = DockStyle.Fill;
view.ToggleDisplay += view_ToggleDisplay;
view.TargetValue = Properties.Settings.Default.TargetValue;
view.TargetChanged += view_TargetChanged;
tp.Controls.Add(view);
tabUsers.TabPages.Add(tp);
}