Powder may bugger your engine but rather that than the boat burning down to the water line sinking! I would think in many cases unless you have a sealed engine compartment (which most yachts don't have) then halon/halon replacement would do more harm you than put out the fire. C02 would just get sucked into the engine and the fire would carry on.
I'm sure that most insurance companies would rather replace a buggered engine than a replace a whole boat, which is what they would have to do if you didn't stop the fire.
Me I've got an automatic 2Kg dry powder extinguisher, I'm happy as I know it will put out a fire. The rest I can deal with later, but I'll still be afloat and manoeuvrable.
Drinking rum and playing music with my friends.
Bookmarks