Test it. I'm just guessing that if the unit does not have the ability to be removed, it returns false. Otherwise it will return true if the ability can be removed.
if UnitAddAbility(GetFilterUnit(), 039;Amrf039;) then
call UnitRemoveAbility(GetFilterUnit(), 039;Amrf039;)
endif
Not "wrong", but the unit does not have the ability.