Waits are imprecise. Sometimes it does what you want, other times it could be a second or more late. The damage point/backswing will vary depending on the unit, so unless you program each unit's animation points, projectile speed and compensate for if the target moved during that time to a different spot, you're not even going to have a chance with those being accurate.
Are you uninterested in using a DDS because of the indexing involved? If so, keep in mind that you'll need to use timers to achieve what you want without it, which will require much more indexing.