Why do calls to aa_i2c_slave_read, aa_spi_write, or aa_spi_slave_read produce errors for large transaction lengths?

The asynchronous receive buffer is filling up and thereby causing bytes to be dropped. As explained in the user manual, these functions can only reliably transmit or receive transactions that are less than 4 KB in length.