Now that I have played around with it a little, I have the method to put your, or your client's custom logo on your 3CX phones - or at least some of them. I am working with some Yealink phones so these are the ones I am writing about here. This method will work with the 3CX provisioning files so that you only have to set this up once if you are using the provisioning. Keep in mind that if you do a reinstall of your software, you may have to redo this setup.
Let me add that this involves stuff that is not supported by 3CX and most of all not supported by me. I am sure that 3CX does not want to hear from you if this does not work for you.
I created a table below to give some of the particulars for phones that appear to work with this. The Yealink phones with the B&W display use an image format called .dob. You can find a utility called PictureExDemo that will convert your .bmp file to a .dob file. A nice graphics file editor, if you need one, to create your .bmp file is Pixlr. Remember you may want to leave some border area empty in your graphic to allow for the soft buttons that some phones have.
Once you have created your file (for example yealinkt28.dob or yealinkt22.dob) you should put it in the following folder on your 3CX system C:\ProgramData\3CX\Data\Http\Interface\provisioning\logo. On Window XP the folder is C:\Documents and Settings\All Users\Application Data\3CX\Data\Http\Interface\provisioning\logo . You might want to save the existing file before you replace it with your customized file. In this folder you can also see the file names for the other makes/models of phones.