Prepare the Casserole:
Grease a 9x13-inch baking dish. Spread half of the bread cubes evenly across the bottom of the dish. Scatter the cream cheese cubes and 1 cup of blueberries over the bread. Top with the remaining bread cubes and blueberries.
Make the Custard:
In a large bowl, whisk together the eggs, milk, heavy cream, sugar, and vanilla extract. Pour the custard evenly over the bread mixture, pressing the bread down gently to soak up the custard. Cover the dish with plastic wrap and refrigerate for at least 2 hours or overnight.
Make the Streusel Topping:
In a small bowl, mix the brown sugar, flour, and cinnamon. Add the cold butter and use your fingers or a pastry cutter to mix until the mixture resembles coarse crumbs.
Bake the Casserole:
Preheat your oven to 350°F (175°C). Remove the casserole from the refrigerator, sprinkle the streusel topping evenly over the top, and bake uncovered for 45–55 minutes, or until the top is golden brown and the custard is set.
Optional Glaze:
While the casserole cools slightly, whisk together the powdered sugar and milk until smooth. Drizzle over the casserole before serving.