In a heavy saucepan cook the sugar and water over medium heat until melted and boiling. Cook until it just begins to turn amber and then remove from the heat and pour into an ungreased 9-inch x 2-inch high cake pan, or a 2-quart baking dish. It will turn hard in the bottom of the pan, but that's okay.
Preheat the oven to 350°. In the bowl of a mixer, beat the cream cheese until smooth and no lumps remain. Add in the eggs one at a time, mixing until each is fully incorporated. You may have to scrape the bottom of the bowl between eggs to make sure there are no lumps of cream cheese left, otherwise, you will end up with lumpy custard.
Add in the remaining ingredients and mix until smooth. Pour over the caramel topping in the pan.
Place the pan in a larger baking dish or roasting pan with high sides and pour boiling water into the larger pan until it is about 1 inch deep. Bake for 50-60 minutes, until the center, is still slightly jiggly.
Remove from the oven and remove the pan from the larger baking dish. Cool for about an hour. Cover and refrigerate overnight.
When ready to serve, place the pan on a baking sheet with hot water for about a minute to loosen the caramel from the pan, run a knife around the edge, and quickly and carefully invert onto a rimmed serving plate.