MySql - unique key not working
There's no UNIQUE key on your table, only a PRIMARY KEY on an AUTO_INCREMENT column, which never trigger the ON DUPLICATE KEY because, as you probably already know, you're passing id = NULL.

Change this:

KEY `unique_index` (`user_id`,`list_type`,`s_object_id`,`group_id`)


to this:

UNIQUE INDEX `unique_index` (`user_id`,`list_type`,`s_object_id`,`group_id`)