My fan theory is actually that the genie was intentionally not granting Aladdin wishes, in order to "save" wishes, to give him more chances at being wished free. If Krikpe is correct in the comic, and a Prince is a Prince due to a sort of causal chain being traced back to a legitimate event which crowned him (Krikpe thought this was how all proper names worked), then in order for the genie to fulfill the wish he would have to change history. However, being as we know the genie can't bring people back from the dead, etc, it seems that altering the past would be beyond the scope of his powers. Taking inspiration from the trick Aladdin pulled just moments ago, where he got a free wish out of the genie, the genie decides to conceal this fact and pretend to make Aladdin a prince instead. He accomplishes simply by dressing him up as a prince and displaying his apparent wealth. In other words, all he tries to do is fool the king into thinking he's a prince long enough to court the princess (which was Aladdin's real goal anyway). He was probably hoping that everything would work out to how Aladdin wanted it, including Aladdin using his other two wishes for whatever he desired, and only then would he reveal that he still had a third wish. Since Aladdin would view this as a sort "found wish", he might be more inclined to grant the genie his freedom. Of course as it turned out Aladdin's second "wish" hardly seems like it would hold up in a genie court of law either, since Aladdin was unconscious at the time. The genie, quite deftly, seems to make some sort of gentleman's agreement with Aladdin that it counted as a wish, which is absurd, given the rigid nature of the wishes. So it seems like Aladdin actually might have had all three wishes left at the end of the movie when he decided to set the genie free.

Not only that, but the wish he wanted to make at the end was a little mysterious, even more-so than the first wish to become a Prince. Jafar, after all, made no indication that he was using his magic to turn Aladdin back into a non-prince. He just changed his clothes back to what they were so Jasmine would recognized him as a fraud. He says "So Ali turns out to be merely Aladdin. Just a con, need I go on?" If Jafar were making some kind of metaphysical change to revert Aladdin's royalness, he wouldn't say that he was a con and "turned out to be" a non-prince. Jafar seems to be in agreement with the genie that Aladdin was only disguised as a prince all along. So why does Aladdin have to wish to be a Prince again? What will it accomplish? Shouldn't the first wish still be in effect? The answer is no, because the first wish was never in effect. He was only disguised as a prince even after the first wish, and it doesn't really seem like the second wish would do anything more than disguise him as a prince again. The genie, however, plays along, knowing that another change of clothes is clearly going to be enough for the Sultan, who is obviously looking for a legal loophole to make the wedding happen anyway (and ironically, the wedding most likely will make Aladdin into a prince, but the genie couldn't take credit for that since it happened from the Sultan's free will, which the genie cannot change). This means that the genie would have cunningly preserved all three wishes to the very end, giving him ample chances at freedom in the future. He is, of course, under no obligation to inform Aladdin when real wishes are used, proven by the fact he never told Jafar that his wish to make Jasmine fall in love with him never counted, so his plan was probably to reveal that Aladdin had one wish left, and if that failed...one more, etc. After all, the more wishes Aladdin still has, the more chances at freedom, especially if the genie believes that Aladdin is more likely than most to perform such a wish. Given all this, it is likely that the character of a lovable jokester who likes to play tricks, but is ultimately good at heart is tailor made for Aladdin, to make him feel sympathy for the genie, obviously to increase the odds of getting wished free.