Since you didn't mention why you need to change the picture or where the picture is placed (i.e., how often it is printed) in the report and what purpose it serves, it's difficult to provide a good answer.
Having said that, the best way to change pictures is to store them in a database and either join to the table that contains them or use a subreport to get them. You can also use the section format event to point to a specific picture. I can't provide you with any Delphi code samples, as I work primarily with VB. The third option is to create the picture as a linked ole object, in which case the link is updated at runtime. But that is only practical for things like logos.
I don't believe you can pass pictures as parameters.