From your screenshots it seems that it is the chip itself that isn't replying you with the correct answer. I don't know this chip, but could there be any other cause that would make it not reply in some cases? A bad reset signal, chip busy, or something else?
If the timing is correct I really don't see why you would get a different behaviour just by changing the signaltap buffer size. But it's difficult to say for sure that your code is correct or bad. Something could make it break, or on the contrary it could just work "by chance" in your first case...