And I know why the game crashes when you change the model, n00bs shouldn't be tampering with things you du nut knuw.
It's because the horse model is actually a Character you can latch on to with it's own animation set, it's not a vehicle per se.
When you simply replace the model, but not the animations, the engine gets confused and crashes.
Basically create a boat model, make and export animations for it along with the model itself, go in the datablock and change the animations to their respective boat animation names. Also to avoid weird Horse physics, diminish Strafing velocity to zero.
When making animations, make simple 2 frame animations, where the boat essentially does not actually change (i.e., nothing changes or moves, the boat stands still). Do this for all the animations and name them properly before exporting.
Then all that's left to do is change the various datablock values relating to density, acceleration, max velocity, steering, etc.
That's how I think it could work.