I do not know, but I can make a guess.
If I recall there is a "priority" field in the object editor. I think it refers to which buff will be dispelled first, maybe putting a "0" there will make it un-dispellable.
edit: hm, seems like that was for Spellsteal only.
You could use a workaround though. Detect when dispell ability is being cast, check if target has buff then wait 0.00 seconds and make a dummy recast the ability.
Sadly this would reset the duration, so you'd have to work around that as well (which is possible with a simple counter variable).
Overall, to my knowledge there does not seem to be a perfect solution.