What format should date (ISO date) be when using Migrate Module?
For date migration, you should use Migrate Extras module. Then you will be able to remove your code from prepareRow(), and just map the date field.

Migrate Extras will take care of reading you date and parse it.

In my migration I just had to set the timezone when I was importing birth dates. 

Here's my mapping, as an example:

$this-&gt;addFieldMapping('field_birth_date', 'birthdate')-&gt;arguments(MigrateDateFieldHandler::arguments('Europe/Rome', 'Europe/Rome'));