McKinlay war in den folgenden Jahren Stammspieler bei den „Hearts“ und als größter Erfolg stand in der Saison 1991/92 der Gewinn der Vizemeisterschaft zu Buche. Mit seinen Leistungen machte er sich auch für englische Vereine interessant, aber statt dort in der Premier League zu spielen, entschied er sich im November 1994 für einen Wechsel zu seinem „Herzensklub“ aus der Heimat Celtic Glasgow. Die Ablösesumme betrug 350.000 Pfund und mit dem von Tommy Burns trainierten Team gewann er ein knappes halbes Jahr später über ein 1:0 im Finale gegen den Airdrieonians FC den schottischen FA Cup. Im November 1995 feierte er als „Spätberufener“ im Alter von fast 31 Jahren seinen Einstand für die schottische A-Nationalmannschaft mit einem 1:0 gegen Griechenland. Mitte 1996 war er im Kader der „Bravehearts“ bei der Europameisterschaft in England und dort bestritt er zwei Vorrundenspiele gegen den England (0:2) sowie die Schweiz (1:0). Danach hatte McKinlay häufiger mit Verletzungen zu kämpfen und nach dem Gewinn des Vizetitels 1997 mit Celtic lieh man ihn Ende Januar 1998 für einen Monat an den englischen Zweitligisten Stoke City aus. Bei dem späteren Absteiger führte er sich unglücklich mit einer roten Karte gegen den FC Middlesbrough (1:2) ein und absolvierte lediglich drei Partien. Zum Gewinn der schottischen Meisterschaft 1998 steuerte McKinlay bei Celtic lediglich fünf Ligaeinsätze bei, wobei ihn in erster Linie Stéphane Mahé als Stammspieler verdrängt hatte. Trotz dieser sportlichen Rückschläge fuhr McKinlay mit Schottland auch zur WM-Endrunde 1998 nach Frankreich und wurde sowohl gegen Brasilien (1:2) als auch Marokko (0:3) in der zweiten Halbzeit eingewechselt – der Auftritt gegen die Nordafrikaner war sein 22. und letztes Länderspiel. Im Sommer 1999 verließ McKinlay Celtic. Kurz darauf ließ er bei den Grasshoppers Zürich und dem FC Kilmarnock seine aktive Laufbahn ausklingen.