Place 1/2 cup cold milk in a mixing bowl and sprinkle with the gelatin, stirring once or twice to moisten. Set aside to soften for about 5 minutes.
Bring the remaining 2 1/2 cups milk to nearly a boil in a heavy non-reactive saucepan over medium heat.
When the gelatin is soft, add the sugar, cornstarch, egg and egg yolks and whisk until very well blended. Gradually whisk a little of the hot milk into the gelatin mixture; repeat this process once or twice using about 3/4 cup of the hot milk total. Pour the warmed gelatin mixture into the saucepan with the hot milk and bring the mixture to a boil, whisking. Boil, whisking constantly, for about 2 minutes.
Strain the pastry cream into a clean bowl; whisk in the butter and vanilla until smooth. Place a sheet of wax paper or plastic wrap directly on the surface of the pastry cream and refrigerate.
Whip the 1 ½ cups cream until nearly stiff. Stir in the powdered sugar and vanilla. Gently fold a little over half of it into the pastry cream.
Sprinkle a big handful of the coconut in the bottom of the baked pie shell. Pour the filling into the pie shell, mounding the filling in the center. Chill for about 30 minutes. Spread reserved whipped cream over Bavarian cream and sprinkle top with remaining toasted coconut. Chill for four or five hours or until set.
** To toast coconut, spread coconut on a foil or parchment lined cookie sheet and bake at 350 for 8-10 minutes, stirring frequently to keep it from burning.