I tested my device (iPod Touch 2G iOS 4.1) if location services are enabled
permitted = [locationManager locationServicesEnabled];
and I always get a YES whether location services are enabled or not. I’m talking about the general button for location services and not the app specific button. On iPad with iOS 3.2.2 everything is working fine.
When you implement the delegate for location manager, you should be implementing didFailWithError. In there you will get the appropriate error if the user did not allow access to location
Apple Documentation States:
If the user denies your application’s use of the location service, this method reports a
kCLErrorDeniederror. Upon receiving such an error, you should stop the location service.