This happens occasionally if you delete the faces off a solid. It's got nothing to do with your .material code :3
When you're adding a texture/material to an object in Blender, only the outside part of the model will become textured, the inside -which is the transparent part- does not become textured... This isn't easy to explain, so I'm sorry that I can't really explain in more detail why this happens xD
I know a quick way of fixing it but only using the later versions of Blender, such as 2.59. I can't remember if I ever found the same or similar solution in 2.49. What I can suggest is building an extra "layer" for the inside of the boat.
Select all the edges of the boat and press E to extrude them, then click Only Edges and using S (adjusting the scale) just choose how wide you want the ledge of the boat to be.
Once you've got the scale extrude the edges again, this time move the edges downwards. There's a miniature scale of the axis arrows (the red, green and blue arrows) in the lower left hand corner, it will tell you which X, Y, Z coordinate is for which arrow. The blue arrow is Z so use the grab button (G) and Z on the keyboard -in that order- to move the edges down.
Once you've done that press F and it will fill in the empty floor of your boat.
Hope this helps