I just got promoted to lvl 30 on my Romulan Tac. Unfortunately I did not get a token to claim a free ship. I suspect that the reason is that I never bothered claiming my lvl 20 subcommander ship which was still available to claim. However after claiming that one, I also did not get the option to claim the captain one. I guess you ought to do some fixing.....
So I just played some missions on the character, go to the missions tab and notice the lvl 30 promotion mission is in my missions tab again.
So I do everything again, and there you go here's my lvl 30 ship.
It seems as if the first promotion mission it showed me was the one for the lvl 20, and in order to get the 30 as well I had to complete the second mission which I did not see in my tab.