W letnim oknie transferowym 1992 David wrócił do Rangers. Kosztował 1,35 miliona funtów. Już w sezonie 1992/1993 osiągnął kolejne sukcesy w karierze. Z Rangersami sięgnął po trzy trofea – mistrzostwo, Puchar Szkocji i Puchar Ligi. Z kolei w 1994 roku wywalczył tytuł mistrzowski oraz drugi z pucharów. W sezonie 1994/1995 klub z Glasgow, z McPhersonem w składzie, znów został mistrzem ligi, jednak David jeszcze w październiku 1994 odszedł z klubu, dla którego rozegrał w swojej karierze 276 ligowych meczów (zdobył w nich 22 gole).

W latach 1994–1999 McPherson ponownie występował w Heart of Midlothian. W 1998 roku zdobył z Hearts Puchar Szkocji, pierwszy dla tego klubu od 1956 roku. Dorobek Davida w barwach Hearts to 294 ligowe mecze i 24 gole.

Latem 1999 McPherson wyjechał do Australii by grać w tamtejszym klubie Carlton SC z Melbourne. W 2001 roku wrócił do Szkocji. Przez rok występował w Greenock Morton F.C., w Second Division. W 2002 roku zakończył piłkarską karierę.