Change a field type using Migrate
This is hard for me to believe, but the results are telling.  The source fields were never loaded, so they weren't available to the destination handler.  I added the following prepare() function to my Migration class so that the values would be available.  I don't see any examples that look like this, so I'm almost certain there's a better way.

function prepareRow($current_row) {
  if (parent::prepareRow($current_row) === FALSE) {
    return FALSE;
  }

  $phone = db_select("field_data_field_phone", "p")
    -&gt;fields("p", array("field_phone_value"))
    -&gt;condition("p.entity_type", "user")
    -&gt;condition("p.entity_id", $current_row-&gt;uid)
    -&gt;execute()
    -&gt;fetchField();
  $current_row-&gt;field_phone = $phone;
}