Well I was the last hire in 2004 and we don't have anyone junior in our 3 person team so I can't answer that really other than a ballpark figure.
A good win32 programmer with sector experience could probably jump straight in. Someone with no experience of win32 and the sector would probably be 6 months of work for them and us which isn't a problem.
We interviewed one guy in 2010 who was a "rockstar" win32 and C# programmer (apparently) who wanted a pile of cash and came well recommended. We dumped him on a machine with notepad and the windows SDK and documentation. No visual studio. He didn't even get a message box on the screen. We just paid the guy who was leaving a pile more cash and I suspect that was his ploy anyway.
10mloc product here, about 1 month for a university rookie.
Once you get over, I guess, 500kloc you start having teams with extremely distinct responsibilities (50kloc to 800kloc depending on the complexity of each team's responsibility). This means that you only need to care about your slice of the product. Knowing what's going on with the other systems makes you immensely more productive, but you can actually get places with just knowing your slice.
In terms of mastering the entire codebase? Most likely 6 years: that's about how long it took me.
It's a very strange place to say this, but working on a massive codebase (as opposed to a startup) gives you a very rewarding skillset. I would definitely recommend it if you are considering diving into a massive existing codebase. At the end of the day, the more you know [how to do]...