How can I find out if a transaction used a specific vout as its input?
You need a way of querying the unspent pool in order to do this. A workaround is to lookup the transaction that is being referenced via some public api, blockchain etc, and check the referenced output as they usually mark them as spent/unspent. You can do this programatically by querying for all unspents for the addresses referenced by the output in question and filtering it for the one you want.