Всем кнопкам из одной пары одинаковый Tag. Каждой паре свой Tag. Всем кнопкам присваеваешь одно событие OnClick. Задаешь две глобальные переменные: LastButton: TButton и SecondClick: Boolean;
В событии OnClick пишешь:
	Код:
	begin
if SecondClick then
begin
  if LastButton.Tag = TButton(Sender).Tag
  then
  begin
    LastButton.Hide;
    TButton(Sender).Hide;
  end
  else
  ShowMessage('Ошибка!!!');
  SecondClick := false;
end
else
begin
  LastButton := TButton(Sender);
  SecondClick := true;
end;
end; 
 
Писалось на коленке. Логика предельно простая. Не забудь еще проверить нюансы типа нажатия на одну и ту же кнопку 2 раза и т.п.