Just wondering if this is a problem with math rather than formatting. Why are you dividing the number of items by 1000? Do you mean to divide milliseconds (your Difference variable) by 1000? Maybe this is what you want:
EventRate := (List.Items.Count) / (difference / 1000); // events per second; to make it per minute, need to change 1000 to 60000
Of course, you'll still want to format the result. You'll need this as a variable or class property:
MyFormatSettings: tformatsettings;
then, you'll need to do this once, e.g. in FormShow:
getlocaleformatsettings(locale_system_default, MyFormatSettings);
finally, this should work:
sb.panels[2].Text := format('%5.2f', EventRate, MyFormatSettings);