1.) First of all, if you have a TBitmap-property, any image stored in that property will be saved into the EXE file as long as that property is "published". Also, make sure to create the TBitmap in the constructor of your component.
If you want to store a TBitmap in your component that is either invisible to anything except your component or if you want to pre-assign a bitmap to a TBitmap property, use resources. You can create resources using the image editor that comes with Delphi or with the command line tool BRCC32 that you will find in the bin directory of Delphi. Component resources should have the extension DCR. They can be included just like any other resource using the compiler directive {$R blah.dcr}. To load bitmaps from a resource, try this:

Bitmap.Handle := LoadBitmap(HInstance, 'MYBITMAP');


2.) When you drop your component onto your form, two methods are executed, the constructor and the paint procedure. If your constructor fails then maybe because you're trying to access canvas functions before the canvas has been created, if your paint procedure fails then maybe because you're accessing bitmaps that haven't been created... make sure that's not the case and report back if that doesn't fix it.

3.) The reason why you're not seeing anything is probably because your paint procedure doesn't work. Other than that, there is no reason why your component should be just a grey rectangle. You might want to check out the "ComponentState" property if you need to distinguish between design- and runtime.

If you're still having problems, post some code and I might be able to help