The changes to CiviCRM described earlier let CiviCRM take its i18n/l10n lead from Drupal, but fall short in handling the details of address, date, and currency formatting.
To address this, I've rewritten more of the code and added the possiblity of using per-language formatting by way of include files in the /l10n/ directory. I attach a sample for 'en_US.format.php' below. The include file defines I18N_* versions of the locale-related constants from civicrm.settings.php that supercede them if the 'i18n' flag is passed via CIVICRM_LC_MESSAGES.
If there is no I18N_* version of a format constant, the code falls through to the civicrm.settings.php values (or the Config.php defaults).
I've removed the diff, added a full Config.php file, and replaced the _format.php file with versions using the corrected constant names.