Inverurie’s Hannah Miley, already a gold medallist and Olympic qualifier in the 400m and 200m individual medley, edged Buchan out of a podium place with a bronze medal in the 200m breaststroke.
Stacey Tadd, with an English record of 2:26.63, claimed the Olympic berth for London in five months’ time, with 15-year-old Molly Renshaw second in 2:26.81. Miley touched third in 2:28.46, with Buchan taking the fourth place in 2:31.42.
McNally, the 2010 Commonwealth Games swimmer, was fourth in the 200m backstroke final in 1:59.91. The surprise winner was Calum Jarvis. The Bath man clocked a personal best 1:59.48.
In the 200m individual medley final, Loughborough’s Joe Roebuck qualified for a third Olympic event with a winning time of 1:58.16. Warrender’s Dan Wallace, a European junior silver medallist, was sixth in 2:02.51.
England’s Fran Halsall won the 100m freestyle in 53.57 with Scotland’s Caitlin McClatchey challenging for a relay berth in fifth place in 55.32. Halsall, from Liverpool, will be one of the British medal hopes in London and she will be doubling up in the freestyle and 100m butterfly.
In the 50m freestyle, Edinburgh University’s Richard Schafers made the semi-finals but his time of 22.92 was not good enough to make tonight’s final. With two days to go, Scotland has five qualifiers for Team GB for London 2012 – Miley, Warrender’s Craig Benson, City of Glasgow’s Robbie Renwick, Bath-based Michael Jamieson and McClatchey.