Hi Scot, I’ve tested this function and confirmed what you’ve described, so this is something we’ll need to investigate in more detail. Thanks for bringing it to our attention! :)
In the meantime, you can create a work-around by using an If-statement to return a formatted string if the input value is zero, like in the following example:
if(CalculationResult=0,"£0.00",FormatNumber(CalculationResult,"en-GB","{0:C}","en-GB"));
If the input value is a non-zero number, the statement will return the properly-formatted string as before.