if the master sends command "a" to arduino (slave), "0" is sent back to master.
if later, master sends command "d", "140a" is sent to master.
if later, master sends command "e", "1a0d" is sent to master...
The problem lies in this specification. This is not an SMbus communication specification because using SMbus or I2C a slave can never send anything back to the master, the master has to request that explicitly. So if the master sends a 'd' it must know that is has to request exactly 4 bytes but only one byte after sending a 'a'.
Post a link to the datasheet of that device you're trying to emulate!