Hello,
After processing the coupon code, if you click on each shipping method, the discount is immediately displaed through javascript. This means onepage is calculating the shipping discount for all shipping methods you have listed on the page. Some of thsee will return an error while some will not. I think this is the reason you are seeing the error eventhough it is working.
You can get the errors suppressed by wrapping the shipping coupon in a parent coupon. So create another coupon of 'parent' type and add the coupon code 'free' to it. Then use the parent coupon. No error messages should be displayed.