I can't speak from boat experience, but I had to replace the Idle Air Control (IAC) valve on my 2001 silverado when it kept kicking an error code. The IAC is a servo motor that runs a rubber stopper against a seat and throttles the air bypass in the throttle body. If the servo motor is going bad, the number rotations that the computer thinks the servo is turning does not match the actual number, thus the amount of air going into the throttle body is not the expected quantity. Since your boat seems to be running rich, this theory seems to hold water.
Check out this site for some non intrusive trouble shooting where you only unhook the electrical plug.
http://www.aa1car.com/library/idle_s...trol_valve.htm
As this site says, it may be a vacuum leak and not the valve. Check over the vacuum lines closely.
Another check you can do is remove the IAC valve and switch the ignition to the on position. The valve should actuate and move outward. Note: DO NOT do this check multiple times, the plunger will run off the threads and the spring will shoot the plunger across your yard or into the water (Ask me how I know this), you will then have to buy a new IAC valve.
My $0.02 Good luck and happy boating.
-JP
__________________