Hey jhedr,
I investigated this and discovered that we actually fixed the behavior in TestStand 2013. Fortunately, the change was in modelsupport2.dll, which we provide the source code for in the <TestStand>\Components\Models\TestStandModels directory. You can open the modelsupport2.prj project if you have LabWindows/CVI, and the code that changed is in the report.c file.
There is a function in this file called MakeSurePathIsValid(), and near the bottom of that function is a switch statement which selects a case based on the fileSizeErrorCode variable. Under the -1 cases (file doesn't exist), we added the following code:
HANDLE fileHandle = INVALID_HANDLE_VALUE;
// If the directory does not exists we do not end up creating the file on disk and reserving the name
// Hence we we might end up generating the same report file path in other places - OTF server for example
errChk( MakeAllDirectoriesInPathName(engine, reportFilePath) );
// try to create file again
fileHandle = CreateFile(reportFilePath, GENERIC_READ|GENERIC_WRITE, 0, NULL, CREATE_NEW, FILE_ATTRIBUTE_NORMAL, NULL);
if(fileHandle != INVALID_HANDLE_VALUE)
CloseHandle(fileHandle);
I'm going to attach a modified version of the report.c file with the change; the changed code begins on line 1192. Feel free to diff the file against the existing one on your machine to more easily see the changes. If you have CVI, you can easily compile the modelsupport2 project to update the DLL. If you do not have CVI, let me know and I can send you a version of modelsupport2.dll with this change.
Please note that this information comes from a newer version of TestStand and has not been fully tested in this configuration, although in my simple tests it appears to resolve the issue you are seeing. Let us know if you need any more assistance!