These are some guidelines I use when evaluating lock in:
Does the vendor use industry standard formats?
If you end up with tons of files and code that has to speak a foreign language, then switching is exceedingly difficult. If you have standard formats like XML and JSON not so. For instance ASP .Net uses aspx, which is markup that is neither html, nor is it valid XML. This makes it very difficult to convert those files or parse them.
Does the vendor supply sufficient points to integrate with their system?
Can you liberate your data out of the system, and integrate it with your own systems sufficiently via some form of interoperation, like web services? If you want to integrate it with your systems do you need to add more vendor products at a premium?
How hard is it to change out the solution for another one?
A constant sanity check is needed to see how difficult it would be to move away from the vendor. If the vendor's stuff pervades your entire infrastructure you should be weary.