I always find getting that last heart extra difficult, I even find myself repeating my effort i.e. I select the Pokemon while they have 4 hearts and feed them, but when they do the happy dance, it's not the maximum style (they dance twice instead of three times). I'm sorry if this is confusing.
Just keep on going. to get the last heart you have to "level it up" twice. and no, there is not a sixth heart. Here is a list of hearts needed to get a new heart if you got that. (these hearts that pop out of your Pokemon when you do stuff like playing or feeding them).
Hope this helped you :)