I always order screw-in metal lens caps from Adorama when I buy a lens. I have never lost one. I just put them in my back pocket when I am shooting. They provide great protection and since I always use B+W filters, I like the extra protection they provide for the filters. A B+W filter circular polarizer in a large size can cost as much or more than a shorty forty. Well worth it for the few seconds it takes to remove it.
Canon make a 58mm center pinch lens cap. Look for a Canon part number HF G10. It's about $1,400 but you do get a free HD Camcorder at that price 8). It's a pity the manual doesnt actually have a part number for the cap itself :'(