In addition to the other fixes I made, I just added some smarter code to the openvpn engine option that does better checking for not just the engines on the system but also which engines are actually usable.
That way if something like this were to happen in the future, the VPN wouldn't have failed, it just would not have used the padlock engine.