So, it turns out there is a restriction in iOS 6 that you can't tint a UISegmentedController before ViewDidAppear:Animated: has run. To circumvent it I made this code change (as you can see in the edit).
-(void)viewDidLoad {
[self makeSegmentedControl];
[self addSegmentedControlToToobar];
}
-(void)viewDidAppear {
[NSTimer timerWithTimeInterval:0 target:self selector:@selector(tintSegmentedControl) userInfo:nil repeats:NO];
}