Some aftermarket flashes won't work with Canon - even if they are billed as compatible.
I've got a Sunpack Powerzoom 4000AF which is supposed to work with Canon EOS series cameras. The camera recognises the flash & the flash recognises the camera - when I zoom the camera lens, it zooms the flash gun, but the camera doesn't fire the flash. The flash contacts work, and a simple single contact flash fires on the camera so the hot shoe works.
A bit of research on the net and phone calls to the Sunpack importers & Canon suggest that the flash will work with a 300D & a 5D but not a 20D... which is what I've got