Вот это и есть те подводные камни, может контракт выполняет разную логику при вызове одного метода. Первый раз просто пишет, второй раз пишет+проверяет(придумать можно все что угодно) или это разные БП и тогда нужно смотреть и ловить блоки тех у кого транзакция стоит дешевле