... and be aware that the model row number and and the ClientID are not necessarily related to each other in any way.

Why don't you use the model to QAbstractItemModel::removeRow() the selected item?