Mmm. If the cost is different then that solution won't work as the coupons value are only fixed or a % of the order total amount.
I see another solution then, but it requires the Business edition:
You should have two groups of registered users (that can be done in the group manager of joomla >= 1.6 or with DJF ACL on joomla 1.5). When users register they will be in group 1.
Then, for each products, you need to select the group 2 in the "group after purchase" option of the product.
Then, you restrict your current shipping methods to all the groups except group 1 and public.
And finally, you create a new shipping method which will be free and restricted to group 1 and public only.
Also make sure that the hikashop group plugin is published.
That way, by default, the users will be be group 1 or public (before they login), so they will see only the free shipping method. After their first order, they will be moved automatically to the group 2. On their second purchase, when they login, they will only see the normal shipping methods.
One catch: on joomla >= 1.6, the user is added to group 2 but not removed from his previous group. That will be possible by changing the line:
$this->_updateGroup($data->user_cms_id,$oneProduct->product_group_after_purchase);
to:
$this->_updateGroup($data->user_cms_id,$oneProduct->product_group_after_purchase,XXX);
in the file plugins/hikashop/group/group.php
where XXX is the id of the "group 1" group.