Bake the chocolate cake in two 9-inch round cake pans according to the package directions. When the cake is baked and cooled, split the layers.
To make the filling, combine the evaporated milk, sugar, and marshmallows in a pot over medium heat. Cook and stir until the sugar has dissolved and the marshmallows have melted. Remove from the heat and stir in the coconut.
Spread the coconut mixture between each split cake layer and on top.
To make the icing, place the chocolate and sugar in a small pot over medium heat. Cook and stir until the chocolate has melted and the sugar has dissolved. Add the salt, water, and margarine and simmer for 3 minutes. Remove from the heat. Add the vanilla and mix well.