I see no reason NOT to use spaces as you suggest. So what if Lectora changes them to underscores when published? it does not hurt anything. Same goes for upper case. The important naming is what you use inside Lectora. Now, I do agree with naming similar things with similar names because you can select a preference that makes the Lectora name the same as the file name. That does make things a bit easier when you are creating actions that use the objects. But otherwise it is just a waste of time. For my first few years I did as you suggest. Then I realized that if I am creating the graphics and I know where they go and there is only one or two on a page, I just copy them from PowePoint (the easiest graphics tool out there) and paste directly into Lectora. Never had a need to know the real file name.
Now as to buttons, I kind of agree with you but instead I use the suffixes that match the button window: normal, over, click. Then there is NO confusion.
Have to agree there Ben, a,b,c is a bad naming technique. Buttons Images should be called after their states.
Also speaking of images I like putting the Width and Height in the image name. Just so there can never any distortion. Although Lectora retains the original image size so there should be little risk of that.
Good Naming should also extend to not just file names but actions and variables.
And of course Pages should meaning full names to the learner (where does it end!)