Hi Gil,
If I was designing an engine I would always try to make the piston of the softer material, so the piston wears rather than the cylinder, it is easy to make a new piston but a cylinder is another matter.
If you are going to just be running as a display model using air, you can use almost anything, brass/brass, ali/ali etc. as long as they are well lubricated. But if you are going to be putting any heat into the engine then a lot of things have to be considered, the main one being the different expansion rates of metals when subject to heat.
When heat is involved, cylinder/piston you can try cast iron/cast iron, bronze/brass, brass/brass, cast iron/aluminium, the list is endless.
Hope this helps rather than confuse.
John