Haz doble-click en el evento onChanging del TPageControl y escribe lo de abajo, poniendo en <condición> la condición por la que puede cambiar de página.
Si tienes dudas dímelo. Si no, te ruego me hagas saber si te quedó claro.
Chao.
procedure TForm1.PageControl1Changing(Sender: TObject;
var AllowChange: Boolean);
begin
if ((Sender as TPageControl).ActivePage = TabSheet1) and (not <condición>) then
AllowChange := False;
end;