I get same problems with LNAV and can ruin a flight, most of the time I shadow the route with HDG mode ready to switch to that if the CRJ starts to veer off route. Out of curiosity I sometimes just leave it veer off to see if there is any logic to what is happening and most of the time the CRJ just keeps flying off on a tangent, but one flight, it went off route on a 90 degree angle for about 5 minutes, then banked left to fly back to the route in the direction I had just flown and then banked 90 degrees again to join the route as if nothing had happened. This week, a flight went totally wrong and the CRJ went off route, when I fathomed out what was happening, it had somehow selected the departure airport as my next waypoint despite being about 400 miles away from it and many other waypoints in between the point of departure. I could find no reason in the flighplan as to why it should have done that. Sometimes I think there is some logic or coding in the FMS that is confusing it as if there is some hidden modes etc which somehow get activated. Even programming the FMS can be hit and miss, when inputting a route, a waypoint can show up as not found or not in database and then eventually accept it after a few tries, but if I enter it into the LEGs page as a workaround, it accepts it everytime. And then sometimes, I find, when checking the flight plan, a section of the flight plan can have repeated itself which then has to be removed.