Finally fixed my waypoint algorithm!
I'll tidy up the code and add a little more functionality then I'll post the basic system.
Using the code can be as simple as this for adding some rectangular obstacles (waypoints added automatically and any clashing waypoints are deleted automatically):
gosub init_waypoints:
create_obstacle(x#,y#,wid#,hght#,angle#)
rem use this to add additional waypoints where there are gaps
add_waypoint(x#,y#)
rem call this once all waypoints / obstacles have been added
calculate_waypoint_nodes()
rem use this to display the waypoints and paths
draw_nodes()
Then to check for the fastest route and store the path in an array just call:
find_path(sx#,sy#,ex#,ey#)
You can then use the contents of the temporary path array to tell your AI characters where to go. I'll be adding to the code a lot but the basic code could save a lot of messing around translating other path finding systems as it's in AppGameKit Basic already
I'll post the code once it's cleaned up.