I did not have much time to look at the osm file, but there might be some issues with it:
1. the use of negative ids for nodes etc. For OSM this means that these entities are not (yet) in OSM. I cannot remember if this actually causes mapsforge to choke on the input, but for the conversion of coastlines I chose to use very high ids (so that they do not conflict with actual OSM ids).
2. some entities are missing, such as 351771, which is referred to by relation 351770. I think mapsforge can handle this.
I sometimes use JOSM to verify that an OSM file that I generate is actually valid, which helps tracking down errors. You can load your files into JOSM and then click on 'validate' somewhere. However the missing entity seems to stop JOSM to load this file.
I would suggest starting with a very small file of your data just to get the structure and the conversion right and to make sure that it will validate in JOSM.
The s57 converter to OSM is certainly only one way how the conversion could be done. Mapsforge, somewhat unfortunately, needs every single tag/value combination listed in the tagmapping. I am not sure what the values in the s57 file mean, maybe there is a way of generalising the mapping a bit to make it easier.
HTH
Ludwig