[HTC One S] tuzonghua:
Just tried on my phone. Geolocation for Google Maps (and related apps like G+) works. For FB, Twitter, and Foursquare, still broken. Has this been looked into at all? Would provide a logcat, but nothing useful in it.

EDIT: Adding logcat just in case.

Note the successful lookup at the top of the file but the error 200/167 at the bottom. Maybe someone with more MIUI knowledge can make something of it.

D/baidu_location_Client( 1098): request location ...
D/baidu_location_Client( 1098): send request to server...
D/baidu_location_service( 1137): on request location ...
D/baidu_location_service( 1137): start network locating ...
D/baidu_location_service( 1137): generate locdata ...
D/baidu_location_service( 1137): util format : &nw=g&cl=310|260|46188|99009494&cl_s=15&cl_t=1342207273273&clt=310|260|46188|99009496|8;310|260|46188|99009745|1;310|260|46188|99009494|8;&prod=1269e:com.baidu.map.location|&sdk=2.3&addr=detail&coor=gcj02&im=null&mb=HTC One S&os=Android15&sv=4.0.3
D/baidu_location_service( 1137): bloc : u6ns8frv_qL4_PeivfOh9fe-77i15KLj7uHk6u_v6fbei-SfgNiPyIaDucbc0ITRmZjJnp_PyMzBydKQl4LFw-y3p77ruaG6s76-6v247rX7863w--CsrqyipaPnpK6ggZPNncWRgZecn5bLlZjD2d7RitjdwIyMh82AhYqOgMwkfit8JH0kfzl_fTQxM3ghNjtrPzQ5ZDk4PHoxOj88JRMKWhwTBVINBBsPXQ8dERZPQUQbA09YGxMVBk4fEwwRNGt9bzJmLzNibGxiMyc-aHYkbCUhOnN4KllAUDtZdnVddF1DDhQ8QEFdSRtFEEIDGBwEXUMMEAmv8v1mQv..|tp=3
D/baidu_location_service( 1137): upload man readfile does not exist...
D/baidu_location_service( 1137): upload man readfile does not exist...
D/baidu_location_service( 1137): upload man readfile does not exist...
D/baidu_location_service( 1137): upload manager get upload data : null
I/global ( 1137): In close() at SocketHttpClientConnection
D/LBE-Sec ( 525): getcache uid=10003 pid=5709 perm=5 map=0x00000080 action=0
D/LBE-Sec ( 525): getcache uid=10003 pid=5709 perm=5 map=0x00000080 action=0
D/LBE-Sec ( 525): getcache uid=10003 pid=5709 perm=3 map=0x00000080 action=2
D/baidu_location_Client( 1098): setopiton1 ...
I/Maps.MyLocationOverlay( 5709): Request updates from network
D/baidu_location_Client( 1098): onSetOption...
D/LBE-Sec ( 525): getcache uid=10003 pid=5709 perm=3 map=0x00000080 action=2
D/baidu_location_Client( 1098): setopiton1 ...
D/LBE-Sec ( 525): getcache uid=10003 pid=5709 perm=3 map=0x00000080 action=2
D/baidu_location_Client( 1098): onSetOption...
V/LocationManagerService( 525): _requestLocationUpdates: enableLocationTracking(true)
V/LocationManagerService( 525): _requestLocationUpdates: enableLocationTracking(true)
V/LocationManagerService( 525): _requestLocationUpdates: enableLocationTracking(true)
V/PhoneStatusBar( 900): setLightsOn(true)
D/memalloc( 205): ion: Allocated buffer base:0x4249b000 size:2088960 fd:34
D/memalloc( 5709): ion: Mapped buffer base:0x5494d000 size:2088960 offset:0 fd:71
I/MapActivity( 5709): Handling network change notification:CONNECTED
E/MapActivity( 5709): Couldn't get connection factory client
D/memalloc( 205): ion: Allocated buffer base:0x42f70000 size:2088960 fd:49
D/memalloc( 5709): ion: Mapped buffer base:0x54b73000 size:2088960 offset:0 fd:93
I/ActivityManager( 525): Displayed com.joelapenna.foursquared/.CheckinActivityAlt: +216ms
D/memalloc( 205): ion: Allocated buffer base:0x43bb8000 size:2088960 fd:52
D/memalloc( 5709): ion: Mapped buffer base:0x54e09000 size:2088960 offset:0 fd:96
I/dalvikvm( 5709): Jit: resizing JitTable from 4096 to 8192
D/OpenGLRenderer( 5709): Flushing caches (mode 0)
D/memalloc( 5709): ion: Unmapping buffer base:0x53111000 size:2088960
D/memalloc( 5709): ion: Unmapping buffer base:0x5330f000 size:2088960
D/memalloc( 5709): ion: Unmapping buffer base:0x535ac000 size:2088960
D/memalloc( 205): ion: Freeing buffer base:0x427fc000 size:2088960 fd:42
D/memalloc( 205): ion: Unmapping buffer base:0x427fc000 size:2088960
D/memalloc( 205): ion: Freeing buffer base:0x4229d000 size:2088960 fd:36
D/memalloc( 205): ion: Unmapping buffer base:0x4229d000 size:2088960
D/memalloc( 205): ion: Freeing buffer base:0x429fa000 size:2088960 fd:40
D/memalloc( 205): ion: Unmapping buffer base:0x429fa000 size:2088960
D/baidu_location_service( 1137): ===status error : 200
D/baidu_location_service( 1137): on network success
D/baidu_location_Client( 1098): on receive new location :
D/baidu_location_Client( 1098): {"result":{"time":"2012-07-14 03:21:24","error":"167"},"content":{"point":{"x":"","y":""},"radius":""}}