This is great if the user applies the 'disable' command to the interface, but I believe the OP's question was in regards to deleting the interface. This wouldn't protect you if the interface is deleted entirely.
I've struggled with how to accomplish this, without either evaluating the active config (not the candidate), or having some sort of @junos:deleted attribute.
Any ideas how to accomplish the OP's request to protect from deletion (without using the JUNOS protect feature mentioned, as there are other applications of evaluated deleted nodes in the config tree, that would be insightful for me to know how to do)
-Josh