Thank you for this suggestion, it almost works!
It seems that if Build Action is set to AddInContent, then the image(s) are NOT copied to the output directory regardless of what "Copy to output directory" is set to, and then the code throws an exception since it can't find the image file. It does however show the image specified in Config.esriaddinx, on the button automatically, therefore the image must be buried somewhere in there.
However, if Build Action is set to Content, then the images ARE copied to the output directory and the code does work, but the image specified in Config.esriaddinx does not appear on the button.
I can use the code to then make the button appear as sort of a workaround, but the question still stands: Is there a way to reference images that are buried somewhere in the AddIn via the AddInContent Build Action?
The addin itself can do it since there are no actual image files in the installed addIn's folder, but perhaps ESRI didn't see fit to provide that capability to the developer?