Not a lot to say really. DBPro's built in sliding collision is a big pile of pants. As you have experienced, it is just about usable for non-rotated boxes, ie level must be made of boxes at 90 degrees. I tried many times with slanted walls at 30 or 45 degreesm etc and the sliding commands dont work properly and you end up stuck.
As the help files 'try' and explain, sliding commands only work for objects that you manually create a collision box for and the ,1 on the end is supposed to handle rotated boxes, but it doesn't.
TGC will never bother to fix and so I would give up trying if I were you. Sparky is free, fast and has lots of functionality. Nuclearglory costs money but has lots of functions. I bought it years ago but still not used it!
sync on : sync rate 60 : autocam off
make object cube 1,10 : color object 1,rgb(255,0,0)
make object collision box 1,-7,-7,-7,7,7,7,0
make object box 2,100,10,10 : color object 2,rgb(0,0,255)
make object collision box 2,-50,-5,-5,50,5,5,0
position object 2,0,0,50
make object box 3,10,10,70 : color object 3,rgb(0,255,0)
make object collision box 3,-5,-5,-35,5,5,35,0
position object 3,30,-2,50
` rotated box
make object box 4,10,10,70 : color object 3,rgb(255,255,0)
make object collision box 4,-5,-5,-35,5,5,35,1
position object 4,-50,-2,50
yrotate object 4,-30
position camera 0,75,-100
pitch camera down 20
s#=1
r#=3
do
x#=object position x(1)
y#=object position y(1)
z#=object position z(1)
xa#=object angle x(1)
ya#=object angle y(1)
za#=object angle z(1)
if upkey()
x#=newxvalue(x#,ya#,s#)
z#=newzvalue(z#,ya#,s#)
endif
if downkey()
x#=newxvalue(x#,ya#,-s#)
z#=newzvalue(z#,ya#,-s#)
endif
if leftkey()
ya#=wrapvalue(ya#-r#)
endif
if rightkey()
ya#=wrapvalue(ya#+r#)
endif
position object 1,x#,y#,z#
rotate object 1,xa#,ya#,za#
if object collision(1,0) > 0
x2#=x#-get object collision x()
y2#=y#-get object collision y()
z2#=z#-get object collision z()
position object 1,x2#,y2#,z2#
endif
sync
loop
Boo!