I've done something similar in ever campaign I've run so far in 3.x. But in my case the NPC level wasn't entirely "free." I required each PC to start with one level in an NPC class, chosen to reflect the character's background. I figured it would help them think a bit about their character's pre-adventuring life. (And for that I think it was mostly successful.)
A couple points:
* The NPC classes aren't balanced. The first time I did this, I got a nice mixture because the players weren't powergamers at all. The second time, I got nearly an entire party with one level of Aristocrat. Mainly, it's the Commoner that's out of whack. The others all have advantages for certain concepts. So the next time I started up a game, I gave the Commoner a bonus feat. It was a bonus feat chosen by me, the DM, after the character was otherwise written up. That way I could give the character something that would be useful, but not twinked out. This worked well, and I wound up getting two Warriors, a Commoner, and an Expert.
* You need to consider that in some ways, an NPC class can be a detriment, if it's going to be the PC's
first level. Levels have an order, and that is very important at 1st-level, with the 4x skill points and max hp. In order to remove this penalty, I started the game at 2nd-level (1 NPC + 1 PC), but allowed the players to choose which level was counted as "first." So storywise the NPC level would have been earned first (it was their background, after all,) but mechanically, they were able to choose whichever class was their "first level" to take advantage of the 1st-level bonuses.
* You'll need to decide how xp is handled. Does the NPC class count for purposes of how much xp is needed to earn the next level? Does it count when determining when feats and ability score points are awarded? I give each campaign a choice at the beginning (majority of players decides,) either the NPC class is completely "invisible" and therefore doesn't count for xp purposes
or feat/ability point purposes. Or the class is "visible" and increases the xp needed for leveling, but also counts for feat/ability pont purposes. I've had groups decide both ways. Some don't want to pay for the class with xp. Others want it to count so they can get to their 3rd-level feat that much faster.
In my experience the NPC classes have worked out well. I've had pretty much every class chosen over the years, and it really reinforces a character's history in the player's mind.
Edit: D'oh! Your post came up while I was writing mine. Looks like you've got a good handle on things. I'll leave my post up anyway, just as a general addition to the topic of using NPC classes.