Waits would work fine and be MUI.
Since we're using a buff anyway for the attack disabling, we can use that further:
1. When ability is cast, add the unit to a unit group.
2. Make a periodic trigger - every 0.1 seconds or so, it picks every unit in that group, and checks if it still has the buff. If it does not have the buff, remove it from the group and do the expiration stuff.
If you want to use indexed timers, go read a tutorial, it will explain it much better.