El código en si, me parece que está bien, me parece que más va por el tema del evento, si tu le das click a un checkbox te mostrará el mensaje con el texto que tenga, si le das click sobre el mismo checkbox no se ejecutará ningún código porque el evento se produce cada vez que se cambia el índice.
Podrías probar con el evento
ItemCheck. Este se produce antes de que el checkbox cambie su estado, el código podría ser así:
Código vb.net:
Ver originalDim i As Integer = CheckedListBox1.SelectedIndex
If CheckedListBox1.GetItemChecked(i) = falseThen
else
End If
Cualquier duda me avisas.