I have experienced this problem going back to NT 4 - I am using NT 7.15 now.
In a multi-dll app, in any dll but not the .exe, - p_web._OpenFile() does not open the file unless the file has been declared somewhere in the main .exe app.
The workaround I have always used is to have a never-called source procedure in the main .exe app where I add the file to the "other files" list.
So, if a file is "declared" somewhere in the main .exe app it opens fine in any dll app when p_web._OpenFile(filename) is called - but will not otherwise open.
If I explicitly open a file - via Access:Filename.Open() ;Access:Filename.UseFile() in one of the dll apps it works fine whether declared in the main .exe or not. But p.web_OpenFile() will not open the file unless the file is declared in the main .exe app.
And I cannot provide an example app unless my entire NetTalk web server app can be used.
I have had this problem with every NetTalk web server app that I have created since NT4.
Chuck