My only problem with the ending is the exact opposite of my problem with bioshock. While bioshock 1 jumped the gun on the twist too soon, infinite waited WAY too long to reveal it (the last sentence of the game).
IMO booker should have been reveled to be comstock when you finally meet up with/kill him, and than Liz taking you through the multiverse should have been some light explanation as to how that was, followed by every variation of her killing you.
I thought they did a very good job of foreshadowing that Booker was Comstock when he killed him. It was rather elegant, as at that point I shared in Booker's unease and growing sense of dread as he and Elizabeth drew closer and closer to the truth of it all. Because the game wasn't just spelling it out to me, I was able to do a lot of the leg work, piecing it together as the clues kept coming and coming so in the end I was able to accept the final revelation and Booker's ultimate demise. Rather than a shocking moment, it was a mournful one.