I had this problem too, not just limited to the above mentioned problem.
I executed several of the same Lucene searches using the SDK from 2.9B.  I executed one after the other by executing the same main method multiple times.  The result was very often 0 or the expected result.  However I couldn't find a pattern to when it would work and when it wouldn't work.  The same query searches providing different results is unacceptible.  Hence I decided not to use it anymore.
For finding content I used a wildcard when searching, this worked in 100% of the cases.  Then I iterated over the resultset and I took from those iterations what I needed.  It's not very performant but it'll have to do for now.