Took a slightly different approach to solve this. 

 1. Migrate module was currently at version 2.5 - so upgraded this to
 2.6 (currently in Beta)
 2. Ran upgrades `drush updatedb`, made sure the migration groups were registered (did this via migrate ui)
 3. After reading the following articles regarding the new 'trackchanges' hash value option:
 http://timonweb.com/using-hash-value-trackchanges-to-detect-source-data-changes-in-migrate-for-drupal-7
 & http://www.acquia.com/blog/migrate-26-framework-changes I now
 applied the following to the migrate in step 1):

 $this->source = new MigrateSourceCSV($csvfile, $columns, array('header_rows' => 1, 'track_changes' => 1));

The use of track changes now allows the same CSV to be uploaded, any new rows will create a product, any changes will be detected via the hash that this option provides in the migrate_map table - thus causing the particular product to be updated.