Hi Hamid,
You must be doing something wrong. For the worst case you would write the register (3 bytes), read the register back (3 bytes) and read the data results (4 bytes) this is a total of 10 bytes and 8 clocks per byte. If your SCLK is 1MHz, then 80 clocks must be issued for the complete cycle. With the added delays between command and read that still leaves you less than 200us which is well below a 15sps data rate (period of 67ms).
If you have a long loop of events to process, this is most likely your issue as it is delaying the ability to read the data within the specified data rate.
Best regards,
Bob B