I just found the problem that was causing the pathing engine to choose wacko, nonsensical paths. Mostly it was because I was giving it wacko, nonsensical data for the distances between nodes

.
This was the code that calculated the distance when processing the nodes:
for d=c+1 to array count(Verts(0))
if Raycast(Verts(c).X,Verts(c).Y,Verts(d).X,Verts(d).Y,0,0)=0
array insert at top Connections(0)
array insert at top Connectiondels(0)
Connections(1).V1=c
Connections(1).V2=d
Connections(1).Distance=SQRT((Verts(c).X-Verts(c).Y)^2+(Verts(c).Y-Verts(d).Y)^2) `Face-freaking-palm!
endif
next d
Now, as any competent sixth grader can probably tell you, the distance formula usually involves comparison of the X coordinates of two different points and the Y coordinates of two different points...NOT the X and Y coordinates of a single point and then the Y coordinates of two different points

.
The really upsetting part is that this hunk of code is the SOLE reason why Fields dropped off the WIP board in DECEMBER of LAST YEAR. Because THIS CODE WOULDN'T WORK

!!
So, on the plus side, I'm gonna go work on Fields again

.
Take your fail pics over to the posting comp