After a lot of debugging, searching, testing and reading, the problem wasn't really related to appharbor per say. The project is using a DBFactory for the context, and this where the problem was occurring. In my local machine EF was calling the Initializer every time I started the application so the Database would get seeded, but in order for this to work in app harbor I had to set the Initializer to false (explicitly) in the DBFactory constructor.
EDIT
The problem goes even further. Not sure how EF is tracking this but I think that if I run the code locally then the Database gets created locally and EF flags the migration as "executed", so when I move the code to Appharborit doesn't get seeded. Only way I've found to solve this is to delete the database locally and then push it to Appharbor.