wxListCtrl: possible bug

In the wxListCtrl demo:

It appears that if you select a row and then click again in the selected
row, the List Control generates EVT_LIST_ITEM_SELECTED and
EVT_LIST_ITEM_DESELECTED events, which is fine. However, if you click in
the far left (over the smiley image) of a row that has already been
selected, the control generates neither event. Note that if you click in an
unselected row, the List Control generates EVT_LIST_ITEM_SELECTED and
EVT_LIST_ITEM_DESELECTED events, even if you click in the far left over the
image.

This seems pretty obscure but it is impacting a program I am writing in
which the location of the mouse click in the row is important. I am
capturing the mouse down with EVT_LEFT_DOWN and then continuing processing
events with event.Skip() but depending on where (in an already selected row)
the user clicks, the control may not generate EVT_LIST_ITEM_SELECTED and
EVT_LIST_ITEM_DESELECTED events.

I am running Python 2.2.2 and wxPython 2.3.3.1 on Win XP.

Any help would be appreciated.