In a saute pan heat 1 tablespoon oil. Add the spinach, garlic, saute until spinach is wilted and much of its liquid has evaporated.
In a saucepan bring salted water to a boil. Blanch asparagus and refresh in ice water. Drain and pat dry.
In a large bowl beat eggs, cream, salt and pepper together.
In a large saute pan heat 3 tablespoons oil. Add half the beaten, seasoned eggs. As they begin to set around the edges, add spinach and asparagus and start gently lifting egg mixture from sides of pan and push to center, allowing uncooked mixture to contact pan surface.
Add remaining beaten eggs. Continue gently moving the egg mixture to center so it becomes self-leveling.
As the frittata loses its runniness, place a large plate over the skillet and quickly invert the entire frittata. Slide it back into the pan so the uncooked side is on the bottom and continue to cook until done.
When you insert a wooden toothpick and it comes out clean, it is done.
Lay the bread on a flat work surface. Spread 4 slices with a heaping tablespoon of cream cheese, and top each with the remaining slices of bread.
In a large bowl, whisk together the eggs, milk, brown sugar, vanilla, and cinnamon.
Place the bread flat in a casserole dish and cover with the egg mixture. Let soak* for 5 to 10 minutes.
Heat a large skillet over medium-high heat. Melt 2 tablespoons of the butter in the pan. Add as many slices of soaked bread to the pan as will fit in 1 layer, and cook until golden brown, about 4 minutes per side.
Remove from the pan, place on a baking sheet and keep warm in the oven.
Melt the remaining 1 tablespoon of butter in the pan and cook the remaining bread.
Sprinkle the French toast with powdered sugar and serve immediately with syrup.
NOTE: If using fresh bread, do not soak longer than 5 minutes, as the bread will get too soggy.