There is indeed protection from event duplicates. Each Kaa event has sequence number. Subsequent events with same sequence number are not processed.
I observe that sequence number is 0 in both client runs. This means that client was not stopped gracefully.
I do observe logs about client stop which is a little bit confusing. I have checked that regular event demo works fine and stores sequence number to state file.
Please check that after you stop the client "state.propeties" file contains event.seq.num property with value greater that 0.