Preheat oven to 350 degrees F.
Thoroughly grease and flour an 8 inch square metal pan.
Crack the eggs and separate the yolks from the whites. Put the whites in metal mixing bowl and beat with a hand held electric mixer until soft peaks form. Set aside.
In a mixing bowl, beat the butter and sugar until creamy. Beat in the egg yolks and the vanilla, then beat in the cream of coconut.
In a separate bowl, stir together the flour, baking powder and salt.
Add the flour mixture and the milk to the batter alternately, stirring by hand just until flour is incorporated. Stir in the coconut.
Fold in the beaten egg whites.
Pour the batter into the pan and bake on center rack for about 40 minutes or until it appears set and springs back when touched. Let cool completely on a rack and frost with Cream Cheese Icing.
To make the icing, beat the cream until stiff peaks form and set aside. In a mixing bowl, beat cream cheese and butter until smooth and creamy. Gradually add the confectioner's sugar. Beat in the vanilla, then fold in the whipped cream. Spread over cake and sprinkle with toasted coconut.