Prior to iOS 4.0, CoreLocation was reporting altitude correctly, now it always reports as 0 ft.
-(void)locationManager:(CLLocationManager *)mana
Two things you could try. First of all, try setting the location manager's desiredAccuracy to kCLLocationAccuracyBest.
If that doesn't work, try removing [manager stopUpdatingLocation];, and put a NSLog in the didUpdateToLocation with the altitude. Sometimes it needs to narrow down for a bit before it displays the altitude.