Do you implement deviceDiscovered as a useful method, or just as a stub? I would think that once a device is discovered, this would be the time to make another call to startInquiry (after getting whatever info you want about the device, of course).
Also: startInquiry is supposed to be non-blocking. If it is blocking, there may be some other problem somewhere.
If you want to do more than one inquiry at the same time, I would think that you would need to do these on two separate threads of execution using a class that implements Runnable. Have you tried that? Also: what is the point of doing overlapping queries?
BTW, how long was your delay? I’d start with a one minute delay and then work down to the lowest possible number. I would think a delay of some length would have to be incorporated, otherwise you would drain the battery of a real device fairly quickly.