Very slow request with small difference
It would be interesting to know if there are indexes on your tables (and if there are, their structure as well).  There is the slight possibility that these would help to understand the reason behind the third query being much slower than the second one.

Well, this does not answer this mystery, but apart from the above, you should omit the Supplier table from your queries.  Since you don't select any data from it, the only thing it does is multiplying the number of the rows selected (SELECT any_column FROM table1 t1, table2 t2 without further conditions on which t1 row to be joined to which t2 row produces the Cartesian product of the two tables - it can be written as table1 t1 CROSS JOIN table2 t2 in other RDBMSes, however in SQLite CROSS JOIN only fixes the order in which tables are processed).  You apparently use SELECT DISTINCT to get rid of the multiplicated results (@ypercube, thanks for the suggestion).

It would be interesting to see whether the speed difference is still there after these modifications.  If the answer is 'yes', than again I would try to swap the two parts of the WHERE clause and check the difference again.  (Well, SQLite seems to be quite smart avoiding plan gotchas like this, but you never can tell with bees.)