In a large bowl, cream butter and sugar until light and fluffy. Add vanilla. Combine the flour, baking soda, baking powder and salt; add to creamed mixture alternately with buttermilk, beating well after each addition. In another large bowl and with clean beaters, beat egg whites on high speed until stiff peaks form; gently fold into batter.
Pour into three greased and floured 9-in. round baking pans. Bake at 350° for 25-30 minutes or until a toothpick comes out clean. Cool for 10 minutes; Remove from pans to wire racks to cool completely.
In a large saucepan, combine sugar and cornstarch. Gradually stir in orange juice until smooth. Cook and stir over medium-high heat until thickened and bubbly. Reduce heat; cook and stir 2 minutes longer. Remove from the heat. Stir a small amount of hot filling into eggs; return all to pan, stirring constantly. Bring to a gentle boil; cook and stir 2 minutes longer. Remove from the heat. Gently stir in the butter, orange peel and extract. Cool to room temperature without stirring. Cover and refrigerate.
For frosting, in a large heavy saucepan, combine the sugar, egg whites, water, salt and cream of tartar over low heat or double boiler over simmering water. With a portable mixer, beat on low speed for 1 minute. Continue beating on low over low heat until frosting reaches 160°, about 12 minutes. Pour into the bowl of a heavy-duty stand mixer; add vanilla. Beat on high until frosting forms stiff peaks, about 7 minutes.
Split each cake into two horizontal layers. Place bottom layer on a serving plate; spread with ⅓ cup filling. Repeat four more times. Top with remaining cake layer. Spread frosting over top and sides of cake. Sprinkle with coconut. Store in the refrigerator.