I think solution is very simple,

open /includes/modules/affiliate_account_details.php

Find -
<?php
// +Country-State Selector
$zones_array = array();
$zones_query = tep_db_query("select zone_name from " . TABLE_ZONES . " where zone_country_id = " . (int)$country . " order by zone_name");
while ($zones_values = tep_db_fetch_array($zones_query)) {
$zones_array[] = array('id' => $zones_values['zone_name'], 'text' => $zones_values['zone_name']);
}
if (count($zones_array) > 0) {
echo tep_draw_pull_down_menu('state', $zones_array);
} else {
echo tep_draw_input_field('state');
}
// -Country-State Selector
if (tep_not_null(ENTRY_STATE_TEXT)) echo '&nbsp;<span class="inputRequirement">' . ENTRY_STATE_TEXT;
?>
</td>
</tr>
<?php
}
?>
<tr>
<td class="main">&nbsp;<?php echo ENTRY_COUNTRY; ?></td>
<?php // BOF: MOD - Country-State Selector ?>
<td class="main">&nbsp;&nbsp;<?php echo tep_get_country_list('country',$a_country,'onChang e="return refresh_form(affiliate_details);"') . '&nbsp;<br>' . (tep_not_null(ENTRY_COUNTRY_TEXT) ? '<span class="inputRequirement">' . ENTRY_COUNTRY_TEXT . '</span>': ''); ?></td>
<?php // EOF: MOD - Country-State Selector ?>



replace with -

<?php
// +Country-State Selector
$zones_array = array();
$zones_query = tep_db_query("select zone_name from " . TABLE_ZONES . " where zone_country_id = " . (int)$a_country . " order by zone_name");
while ($zones_values = tep_db_fetch_array($zones_query)) {
$zones_array[] = array('id' => $zones_values['zone_name'], 'text' => $zones_values['zone_name']);
}
if (count($zones_array) > 0) {
echo tep_draw_pull_down_menu('a_state', $zones_array);
} else {
echo tep_draw_input_field('a_state');
}
// -Country-State Selector
if (tep_not_null(ENTRY_STATE_TEXT)) echo '&nbsp;<span class="inputRequirement">' . ENTRY_STATE_TEXT;
?>
</td>
</tr>
<?php
}
?>
<tr>
<td class="main">&nbsp;<?php echo ENTRY_COUNTRY; ?></td>
<?php // BOF: MOD - Country-State Selector ?>
<td class="main">&nbsp;&nbsp;<?php echo tep_get_country_list('a_country',$a_country,'onCha nge="return refresh_form(affiliate_details);"') . '&nbsp;<br>' . (tep_not_null(ENTRY_COUNTRY_TEXT) ? '<span class="inputRequirement">' . ENTRY_COUNTRY_TEXT . '</span>': ''); ?></td>
<?php // EOF: MOD - Country-State Selector ?>

This will solve country issue. Now other issue remains - selected state is not saved in affiliate_affiliate table. For that, open
/affiliate_signup.php
Find -
'affiliate_city' => $a_city,
replace with -
'affiliate_city' => $a_city,
'affiliate_state' => $a_state,

Let me know if it works.