I reproduced you error here.
This format only works from .NET 4. Probably .NET 4 isn't installed in your shared server.
Look at section Formatting a TimeSpan Value in TimeSpan Structure MSDN docs.
To check this, create a simple console project:
static void Main(string[] args)
{
Console.WriteLine(String.Format(CultureInfo.CurrentCulture, "Rebate {0}% during {1:hh} h {1:mm} min", 0.15, new TimeSpan(DateTime.Now.Ticks)));
Console.ReadKey();
}
Outputs:
.NET 4
"Rebate 0.15% during 11 h e 47 min"
.NET 3.5
"Rebate 0,15% during 735275.11:48:48.7362198 h 735275.11:48:48.7362198 min"