I would still email your host and ask them help fix. The code your using looks ok, maybe the host has some rules in place that is disagreeing with your htaccess file when put live?
Here is the code I tend to use:
Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]