https://bugs.winehq.org/show_bug.cgi?id=27439
--- Comment #73 from kenoi kenoiyan@aesautomation.com.au --- Found a workaround for Caribbean Tales:
In <Game Directory>/Program/battle_interface/BattleInterface.c, on line 91, comment out this line by placing two forward slashes in front of it:
//LayerAddObject(SEA_REALIZE,&BattleInterface,-1);
It will disable the rendering of the ship's HUD while sailing, but it will allow you to sail freely and stop the game from crashing when you enter sea mode.
The crash is due to a bad rendering implementation (involving a heap corruption with DX8Render ReleaseVertexBuffer) in the module battle_interface.dll in this game.