1. Preheat oven to 350°.
2. Coat an 11- x 7-inch baking dish with cooking spray; set aside. Place bread in a large bowl; set aside.
3. Whisk eggs in a large bowl until foamy and slightly thickened, about 3 minutes. Add sugar, and whisk until combined, about 2 minutes.
4. Add sweetened condensed milk and next 4 ingredients, whisking until thick. Stir in all chocolates. Pour egg mixture over bread, making sure it's evenly saturated. Let stand 30 minutes. Spoon bread mixture into pan. Bake 40 minutes or until golden brown and puffy. Let stand 15 minutes.
5. While the pudding bakes, make sauce. Combine sugar and water in a small heavy saucepan over medium-high heat; cook, stirring constantly, until sugar dissolves.
6. Continue cooking, without stirring, 15 minutes or until golden. Remove from heat. Combine butter and cream cheese in a heatproof bowl. Carefully pour sugar mixture over butter mixture, stirring constantly with a whisk (mixture will be hot and bubbly). Cool slightly; stir in 2 tablespoons milk. Pour sauce over pudding just before serving.