CONTAINS - совершенно другая функция, это запрос на основе предикатов для полнотекстовых столбцов; это не функция, определяющая, содержит ли столбец строку.
Для запроса, который вы выполняете, вы можете использовать это:
SELECT MSDS FROM dbo.MSDSSearch3 WHERE CONTAINS(MSDS, '"STYCAST*"')
Там у вас есть поиск по префиксу, а не поиск по Simple_term, как у вас сейчас.
Подробнее: http://msdn.microsoft.com/en-us/library/ms187787.aspx
Может быть, в том виде, в каком вы его используете, текст «STYCAST 2851 BLACK» не попадает в результаты, потому что в нем содержится на один символ больше, чем «STYCAST 50300 LV», поэтому это совпадение [7 из 17] против a [ 7 из 16 совпадений. Я не уверен, но это могло бы объяснить это странное поведение.