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.