FYI, it sounds like the reason it "worked" in HL2:Ep1 is because you had an older version that was working and your newer version failed. If your newer version failed then the older, working, version would have loaded up giving the appearance of working fine, and then when you compiled to GMOD it would have the newer version which wasn't working.
I don't think you can get an NPC to use the airboat. What you can do, however, is fake it. What you would need to do is find an animation on the NPC that looks like he is sitting, and then use that animation with a
scripted_sequence. Parent the scripted sequence to the airboat, and he will look like he is sitting in the airboat and he will move with it as well (parenting = make the entity move with it's parent). But of course he won't be able to use the airboat so you will need to fake it's movement by parenting the airboat to a train, in which case you would use the airboat model with a prop_dynamic rather than the prop_vehicle_airboat.