WPRichText.OnRequestHTTPImage
is called when a file is loaded which contains links to images. This can happen in RTF or HTML files. If the images are defined with a real filename they can be loaded if they are found. The event makes it possible to load images which are represented by an id. They can then also be loaded from a database.
Your code CreateRtfDocument does not necessarily create a document with images. WPRichText.OnRequestHTTPImage := WPRichTextRequestHTTPImage must happen before loading a file.
If you want to process images before they are saved, use the event OnPrepareImageforSaving.
If WPRichText.SaveToFile('D:\RTF\SampleDocument1.rtf',FALSE,'RTF') does not save images, then there are no images in the file, at least no images which contain PNG, BMP or JPEG data. Image objects which are painted through event or use a different TGraphic class do not necessarily contain such data.