I should clarify that point a little.
You don't have to reload from disk, you just have to reupload the bitmap data to the gpu. That is, all of the textures need to be re-created.
With Allegro 5.0 I believe you have to take all of your existing normal (non-memory) bitmaps and call new_bitmap = al_clone_bitmap(old_bitmap); on each one. With Allegro 5.1 I believe you can use al_convert_bitmap(bitmap); or possibly (I'm not sure on this) al_convert_bitmaps(); which should take all bitmaps that were lost (assuming you didn't turn on the ALLEGRO_NO_PRESERVE_TEXTURE flag) and reupload them to the gpu. This is assuming that the current bitmap flags have ALLEGRO_VIDEO_BITMAP set, which is the default (you actually have to set ALLEGRO_MEMORY_BITMAP to turn ALLEGRO_VIDEO_BITMAP off iirc).
DX is fun in that, if your window is hidden for some reason, it will loose the contents of video memory, so you have to re-upload. Android is a bit worse in that if android sees fit, it will decide to destroy the EGL context, thus losing all video memory contents as well as the entire EGL and GLES state. Allegro has to bend over backwards to hide that from the user as much as possible.
As for the case of manually destroying and re-creating a display, I belive allegro will convert bitmaps to memory bitmaps. Once you have a new display, you can do the clone or convert trick mentioned above.