When I change the Language of the emulator or the device this change is not reflected in neither Thread.CurrentUICulture nor CultureInfo.CurrentUICulture. Is this by design?
Presently there is not glue between CultureInfo and NSLocale. I'm not sure we can have an exact match between the two (different lists) and, even on match, there would be small subtle differences that could cause trouble when porting code.
However it could be worth investigating adding a MonoTouch-specific CultureInfo that would use the current NSLocale settings. If you think this would solve your problem then please fill a bug report (priority Enhancement) to http://bugzilla.xamarin.com so it can be priorized for future releases.
I had to make a similar fix to allow .NET TimeZoneInfo to work properly on devices (that will be available in MonoTouch 5.2 and 5.1 betas).