Issue is in your BoatTile controller. When you set params at the point of firing the event, you need to set it as an id not an object type.

Example,  

    ({
        onBoatClick : function(component, event, helper) {
            var BoatClick = component.getEvent("boatSelect");
            var boatId = component.get("v.boat").Id;  
            BoatClick.setParam("boatId" : boatId);
            BoatClick.fire();
        }
    })