I haven't worked with it but I recall reading that IB doesn't provide tick at all, they aggregate data and send it once a second or something like that.
Probably Esignal will provide the bid/ask history, I think DTNIq provides it in realtime but not as history.