Our company has many sins of the past, one of them being a lack of information architecture (IA). Due to this we often have large numbers of sites dumped into a subweb. Working on the corporate intranet migration to the 2010 platform, I noticed that the TOC webpart was only displaying 20 sites, despite having multiple subwebs below it.
In order to fix this issue, you need to make a change in the site settings for the navigation of the site, since this is what the TOC webpart relies on.
Navigate to Site Settings –> Navigation
Change the Current Navigation limit entry to something appropriate for this level of subweb:
Maximum number of dynamic items to show within this level of navigation:
In my case, I set it to 200, your needs may be different. After making this change to the current navigation setting all my subwebs now appear in the Table of Contents webpart.