I had this problem... it must have somthing to do whith how the index works!? I just used LIKE. Use:
SELECT * FROM table WHERE field LIKE '%query%';
Instead of:
SELECT * FROM table WHERE MATCH(field) AGAINST ('query');
If you need to search multiple words explode the serahc string into words and build a query similar to this:
SELECT * FROM table WHERE field LIKE '%word1%' OR field LIKE '%word2%';
You could also use AND depending on how you want to search. One problem with like is that it doesn't only match whole words, if this is a problem then you could use the REGEXP function in MySQL. Look at the documentation for this, all you need is a regexp that searches for word boundaries.