For completeness, here's the exact error after the program attempts to return from main:
"Exception thrown at 0x577E3E67 (allegro-debug-5.1.dll) in Engine.exe: 0xC0000005: Access violation reading location 0x00000000."
When I select "Break" from the available buttons I get:
"No Symbols Loaded (tab name)
allegro-debug.pdb not loaded (title)
allegro--debug.pdb contains the debug information required to find the source for the module allegro-debug-5.1.dll
Original Location: [Path to Output folder for Debug Configuration]\allegro-debug-5.1.dll"
It's obvious that a heap-allocated variable has gone out of scope and cleaned itself up (I'm using C++11 smart pointers) and then Allegro tried to do some cleanup with it but without a Call Stack or symbols available I have no idea which variable went out of scope nor which function tried to access it.
After deleting the output folders and rebuilding to make sure I have the correct DLLs loaded (I still had a few of the 5.0.10 DLLs in them, now they are all 5.1) I still get the same error.