Good news and bad news. I've attached a responses.xls file revision that shows how you can determine a skipto value depending on whether a response is a repeat of a previous one. Check out the code in the cells from C2:C5. Then enter different values in B2:B5. See how the skipto values are affected by repeating an attribute. If the code looks complicated, there is a nice thorough explanation of it under "IF" in the Excel Help guide.
The bad news is that MediaLab will not accept the current item's variable name as a skipto value if it's generated in the responses.xls file. It only works if you do it directlyin the QUE file which isn't an option here. I was unaware of this and will make a note of it for the next version. In the meantime, a workaround might be to create a repetition of each item, e.g., ideal2b, ought2b, etc. that starts off with "You already used that attribute, please try again". You could then adapt the skipto logic in the attached responses.xls file to SKIP those items if there is in fact NO repetition. Certainly a little more work, but it has the advantage of being able to give the subject feedback about why they are having to try again. If you wanted to be extra safe, you could include 2 or 3 repetitions.
Anyways, this wasn't the super-fun response I was hoping to provide but hopefully the conditional logic alone will provide something useful for a solution of some kind.