The main factor that indicates whether or not a Pokemon can eat more Pokeblocks/Poffins is Sheen, or fullness. You can indicate the "Sheen" of a Pokemon by looking at how many stars are encircling it on the contest stats screen in R/S/E, or the "Sheen" bar in the Summary Screen of D/P/Pt.
So bottom line:
Hope I helped!
Sources: Poffins Pokeblocks
Edit Contest Stats and Sheen DO transfer over when you transfer them.
Source