It seems that this method does not have the same behavior on Windows XP or on later versions of Windows.
The customer was running Windows XP and the SaveFileDialog was being opened with a file name containing a / ("My / File.xlsx"). This caused ShowDialog() to throw the above error before showing the dialog. However, the error message only contained the part of the file name after the / ("File.xlsx" in this example).
On Windows 8, there is no problem calling ShowDialog with a file name containing a /. It will simply prevent you to save without changing the name, since a name with a / is invalid.