Actually, Bactine™ is designed not to sting. It has lidocaine in it (similar to the novocaine the dentist uses to numb teeth).
The germ-killing ingredient is benzalkonium chloride.
This disinfectant is used in many other products, such as Lysol, antiseptic towelettes, and newer non-alcohol based hand sanitizers. It works by disrupting the cell walls of bacteria, and disabling their enzymes, due to its action as a surfactant.
As a replacement for alcohol and hydrogen peroxide, benzalkonium chloride is used because it irritates the wound less. It is even used as a preservative in some eye drops and nasal sprays. Alcohol kills germs by drying them out, and other disinfectants (hydrogen peroxide, iodine, chlorhexidine) act by oxidizing (burning) germs. Both of those actions also harm skin cells and can cause stinging.
Lidocaine is used as the local anesthetic in Bactine™ because it acts very quickly. When the disinfectant is first sprayed on the cut or scrape, the temperature difference and the initial contact can stimulate pain nerves. But the lidocaine should quickly quiet them down.