I had the same problem. This is very frustrating. It seems that the documentation for MKMapView is incorrect in some areas regarding datatypes.
If you set the region parameters as (double)s you'll get the error you're having. However if the region parameters are passed (float)s you'll get the correct behavior.
So try
MKCoordinateRegion region = {{0.0f,0.0f},{0.0f,0.0f}};
region.center.latitude = (float) [[NSUserDefaults standardUserDefaults] doubleForKey:@"map.location.center.latitude"]; region.center.longitude = (float) [[NSUserDefaults standardUserDefaults] doubleForKey:@"map.location.center.longitude"]; region.span.latitudeDelta = (float) [[NSUserDefaults standardUserDefaults] doubleForKey:@"map.location.span.latitude"]; region.span.longitudeDelta = (float) [[NSUserDefaults standardUserDefaults] doubleForKey:@"map.location.span.longitude"];
mapView.region = region;