LBFN, DBPro DOES use the .dbpro file as the root directory. The .dba file is NOT necessarily in the same directory as the .dbpro file. Examples you have posted have demonstrated what happens when an editor can't find the .dba file (because your .dbpro file points to the wrong path). Try this:
Create a new project, with this code in the main source file:
#include "source1\source1.dba"
make object cube 1,4
color object 1,rgb(0,0,255)
save object "testcube.dbo",1
color object 1,rgb(0,255,0)
save object "source1\testcube1.dbo",1
color object 1,rgb(255,255,255)
load object "testcube.dbo",2
loadobj()
position object 2,4,0,0
position object 3,8,0,0
sync on
sync rate 30
do
control camera using arrowkeys 0,.1,1
sync
loop
create a new folder called "source1" and add "source1.dba" in that folder (NOT the one created with the project), then put this code into source1.dba:
function loadobj
load object "testcube.dbo",3
endfunction
when you run the code, it creates a white cube and two BLUE cubes, not a blue one and a green one (and a white one). This demonstrates that the project directory is in fact the base directory. there may be a possibility this is not the case with subroutines, but I dun wanna test it.
In other words, YOU'RE WRONG LBFN, SUCK IT!
also, I think the problem was that the file loaded in the IDE wasn't in a project, so it was using the temp directory as it's base directory, instead of the user-intended project directory.