Я предложил тестирование для универсального случая, когда ваш device будет работать с любым I2C хостом. А если у вас device только под ваш хост, тогда это несколько упрощает реализацию.
Если у вас slave, то у него должен быть свой уникальный адрес. При запросе по другим адресам, ваш device не должен реагировать (так как это означает глюк I2C-хоста в вашем случае, если у вас на шине других device нет). И учесть, если указатель адресов регистров превысит максимальное значение.
Если у вас используется TWI тогда это упрощает вашу обработку. При передаче байт потоком, сбои зависят от реализации I2C в хосте (программная или аппаратная) и внешних помех по шине (насколько она у вас длинная и высокоомная?). Если исказится байт данных в процессе передачи, то спасет CRC или можно использовать тупой повтор передачи хостом. Сбои старт-стоповых бит, скорее всего TWI обработает нормально.