Ok, I finally solved this issue.

The issue contained 2 problems:
1. Each tab was created only when a click event occurred on it.
2. There was no way to switch between the tabs using the regular methods of TCM_SETCURSEL and such.

The answer to both questions is to generate a click event for each tab you want to use during the program. The click must happen from the tab container (The empty window which has the sys32tabcontrol class) and you must supply the right control coordinates (this can be retrieved from spy++ WM_LBUTTONUP/WM_LBUTTONDOWN events). Finally, use the MakeLParam function to combine the x and y coordinates of the click and insert them as parameters to SendMessage function.

Here's the code to generate these clicks:

//Force creation of Additions Tab
SendMessage(hwnd_tabContainer, WM_LBUTTONDOWN, 0, (IntPtr)MakeParam(120, 10));
SendMessage(hwnd_tabContainer, WM_LBUTTONUP, 0, (IntPtr)MakeParam(120, 10));

//Force creation of Settings Tab
SendMessage(hwnd_tabContainer, WM_LBUTTONDOWN, 0, (IntPtr)MakeParam(210, 10));
SendMessage(hwnd_tabContainer, WM_LBUTTONUP, 0, (IntPtr)MakeParam(210, 10));

//Force creation of Queue Tab
SendMessage(hwnd_tabContainer, WM_LBUTTONDOWN, 0, (IntPtr)MakeParam(270, 10));
SendMessage(hwnd_tabContainer, WM_LBUTTONUP, 0, (IntPtr)MakeParam(270, 10));