On a multilingual website using i18n, should I set the built-in Drupal English or my custom English as the default source language for strings?
I18N is a beast of a module. I will try to answer this but have no I18N setup on hand, so this is from memory. 

As you have probably realised, depending on how things are configured the default language is normally used as fallback when translations are not available. So, keeping this in mind, you would use your U.S English to translate/modify the entries you want, and set it as default. Source language would be set to the original English. 

It used to be one would need to export and re-import translations but that is not the case anymore.

There is a warning to heed, ripped from http://drupal.org/node/1279668 (good reference on your topic btw): 


  In contrast to Drupal's standard localization system, which always
  translates from English, strings will be translated from the source
  language. By default the source language is the site's default
  language, so changing the default language could break these
  translations. You can set which language is used as the source
  language via Administration > Configuration > Regional and language >
  Multilingual settings > Strings.


As this message states clearly things may break along the way, backing up your data is very important while you are tweaking this.


Another great link for I18N information that has cleared many things up for my multilingual projects: http://hojtsy.hu/multilingual-drupal7


PS:  Much better and simplified I18N support is upcoming in D8, *YEAH! *

Good-luck!