wpdb replace returning 1 where delete and insert is expected

I have found here that;

It is possible that in the case of a duplicate-key error, a storage engine may perform the REPLACE as an update rather than a delete plus insert, but the semantics are the same.

Which would return 1 row affected on what should otherwise be a delete and insert.

I am now checking if an entry_id was provided to the function. ie. if I was expecting an insert.

    if ( 1 == result || isset( $entry_id ) )