My first API wasn't allegro, but SDL, but they seem similar from the allegro documentation. I'm not sure how much of this may apply to allegro.
-Remember to initialize allegro before creating any allegro objects, this will probably crash your program. I was using global objects in my program and had to turn them into pointers and then allocate them after the initialization.
-Remember to make sure your color formats match up (RBGA, GBR, etc).
-Always delete allegro objects when you're done with them (if they're pointers, which I can see some of them have to be from the API functions). I had an issue with a huge memory leak that randomly made my screen go blank and it took me awhile to realize it.