Ok, so I have three strings, one with at the front of it the command to switch to a different one if you and item. Another one where it has the command to give you that item. And last, one that it switches to when you have the item. However, the game seems to switch even if I don't have the item. After some testing, I found that it works fine with item IDs of 122 and under, but messes up with item IDs of 123 and up.
Here's a test file: http://www.rozmiarek.info/sring_bug.qst
The piece of heart has the bug and if you right, the next two screens show what's suppose to happen.
Yes, I know I misspelled the file name, deal with it.
To recap:
If you have the string command to switch to a different string if Link has item X and X is 123 or greater, it goes to the string even if Link doesn't have the item.
Also in case you don't know, \16\X is the command to give an item, X being the item ID and \5\X\X is the command to switch to a different string if you have an item, the first X is the item's ID and the second X being the string.