The problem is that without the timer, If I were to attack a ship outside one of their ports, there is the possibility that I would have to fight every ship docked at the port since players would have time to teleport from any location on the map to that port, undock, and join the battle. Having ships joining your battle that were not already sailing in the open world, allows for too much advantage to the docked side. It also prevents ships from hiding in battle end screens and then joining your battle without your knowledge.
I agree with the current timer. The solution is to have your friends undock at the port you are arriving at or sail with an escort.