I've thought this through again and it still sounds like a perfectly logical puzzle. Is there any one particular step in the solution that you feel is flawed?
It should be understood that this wasn't made up by some no-account kid on Imgur or 4chan who set out to troll the world. This problem was devised by a mathematics competition committee that sets problems for some of the most gifted high school students in the world, and they've been doing it for decades. This was only ONE question in a competition that contained 25 of them.
There's a vaguely Bayesian quality to the problem, in the sense that it involves a state of incomplete information, and then this information state changes (approaches completion) as each statement by Albert or Bernard is given.
It's important to understand that there are three agents involved here: Albert, Bernard, and you (the reader) trying to solve the problem, each of whom starts from a different state of incomplete information. The reader is given ten possibilities. Albert is told only the month. Bernard is told only the date. It's also important to understand that all three agents' states of knowledge evolve differently through the course of the statements by A & B, yet all three reach the same conclusion.
Considering the comments again
post hoc (i.e. from the fourth perspective of an all-knowing observer who knew all along the birthday was July 16), Albert's first comment is based on knowing the birthday is in July (even though the reader doesn't yet know this). Since he knows it's July, he knows the day must be either 14 or 16, one of which was told to Bernard. This means Albert knows Bernard has four possibilities for the birthday: July 14, July 16, May 16, August 14. Hence Albert's first comment that Bernard doesn't have it fully worked out either.
Both Bernard and the reader can use this comment to rule out May or June, in the manner already explained (Albert also knows that his comment divulges this — this is important later). Bernard of course only needs to rule out May since he knows (was told) it's the 16th (which means he only has May 16 and July 16 to consider from the outset), but the reader who lacks this information is still also able to rule both May and June. At this point Bernard can say he knows when the birthday is as he is now only left with July 16. The reader meanwhile from Bernard's conclusion would be able to rule out July 14 and August 14, leaving July 16, August 15, August 17.
Albert's reaction can now be considered. He has the two possibilities of July 14, July 16. He knows that his first comment divulged only July or August as month possibilities as already mentioned, so he's aware that this comment reduced Bernard to three possibilities: July 14, July 16, August 14. Upon hearing Bernard assert that he now knows the birthday, Albert can only deduce that is must be on the 16th. Bernard could not have been this certain had he been told the 14th. This means Albert can also dismiss the 14th from his candidates and deduce July 16 as the birthday. Finally, Albert's statement that he knows the birthday allows the reader to eliminate August as the birthday month from his list of three options, which again leaves July 16 as the answer.
If you start from the assumption of any one of the other days as the actual birthday, the statements by A & B will not follow logically. Only July 16 works.
The presence of numbers in the birthday might be distracting from the fact that this is purely a logic puzzle and doesn't require any conventional mathematics, so to speak. The following problem is logically equivalent and can be solved in like manner:
Revised version of problem wrote:Cheryl just bought her dad some clothes as a gift, but doesn't tell Albert or Bernard exactly what it is. Cheryl gives them a list of 10 possibilities.
Red Tie, Red Socks, Red Shoes
Yellow Shirt, Yellow Jacket
Blue Pants, Blue Socks
Green Pants, Green Tie, Green Shirt
Cheryl then tells Albert only the colour of the clothes and tells Bernard only the type.
Albert to Bernard: "I don’t know exactly what Cheryl bought her dad, but I also know for a fact that you don't know exactly what it is, either."
Bernard to Albert: "Oh, really? At first, I didn’t know what she bought, either, but now I do know, after what you just said."
Albert to Bernard: "Is that so? Well, now I know what she bought, too."
So exactly what did Cheryl buy for her dad?
You can apply the same logic as in the birthday version. Albert's first comment — that he is confident Bernard doesn't know exactly what the gift is — means it can't be Red or Yellow, because otherwise there is a chance Bernard was told it was either Shoes or a Jacket, in which case he would immediately know the item's full description as there is only one colour for each of these items.
So the gift has to be either Blue or Green. Bernard then, having heard this comment, says that now he can figure it out fully. That means the gift can't be Pants, as these have two colour possibilities. It has to be one of the candidates for which there is only one clothing type, which leaves Blue Socks, Green Tie, Green Shirt.
Finally Albert responds to this comment by stating that Bernard's comment allows him (Albert) to also figure it out. But there are two possibilities for the gift had he been told it was Green. So it can't be Green or he couldn't have asserted that was able to figure it out. This leaves Blue Socks as the only possibility consistent with all the clues in the puzzle.
Sports can be a peculiar thing. When partaking in fiction, like a book or movie, we adopt a "Willing Suspension of Disbelief" for enjoyment's sake. There's a similar force at work in sports: "Willing Suspension of Rationality". If you doubt this, listen to any conversation between rival team fans. You even see it among fans of the same team. Fans argue over who's the better QB or goalie, and selectively cite stats that support their views while ignoring those that don't.