Format of Date value changes when using &$form_data or $form_state in hook_submit
===

I've recently changed my form to use Ajax to submit the data. My form accepts dates from the user in (mm-dd-yyyy) format, and prior to this change my hook_submit seen below as would convert it to a (yyyy-mm-dd) format on my behalf before it sent it to the DB. After the change, it skips that step and sends the date value to the DB as is.

I don't mind finding or writing my own function that will do the conversion, but I'd first like to understand the nature of this before I do. Perhaps I'll learn something that will help me later on.

Any help would be appreciated. 

My question is, why is my date value converted with $form_data and not with $form_state?


Using Drupal 7.

Modules: Date API, CTools,

    //Original submit handler
    //Format sent to DB: yyyy-mm-dd <--This is what I want for the Ajax version
    function fsa_roster_form_submit($form_id, &$form_data){
    $dcc_table = 'dcc_'.$form_data['values']['sid'];
	$insertDaycare = db_insert($dcc_table)
		->fields(array(
			'entered' => $form_data['values']['date_entered'],
			'exited' => $form_data['values']['date_exited'],
		))
		->execute();
    }

    //Ajaxed submit handler:
    //Format sent to DB: mm-dd-yyyy
    function fsa_roster_form_ajax_submit($form, $form_state) {
        $dcc_table = 'dcc_'.$form_state['input']['sid'];
        $insertRoster = db_insert($dcc_table)
	    ->fields(array(
			'entered' => $form_state['input']['date_entered'],
			'exited' => $form_state['input']['date_exited'],
		))
		->execute();
    }
    $form['submit'] = array(
		'#type' => 'submit',
		'#value' => t('Save Entry'),
		'#prefix' => '<div id="modalSubmit">',
		'#ajax' => array(//Remove this from your imagination for original submit handler
        	'callback' => 'fsa_daycare_roster_form_ajax_submit',
	        'wrapper' => 'msgBox',
    	    'method' => 'replace',
        	'effect' => 'fade',
		),
		'#suffix' => '</div><script>addValidationEvents();</script>'
	);