Lines 2 and 3 showing NULL key used tell me there is something not happening right.
MySQL *DOES* occasionally ignore keys when it shouldn't. You can force an index to be used, but even that will sometime be overridden.
I'd leave it like it is for now, with 3 queries, and then play with it in the background as you have time.
An optimist sees the glass as half full.
A pessimist sees the glass as half empty.
A realist drinks it no matter how much there is.