No need to change DATEFIRST, create intermediate variables, or a WHILE loop :w00t:.
Just a bit of arithmetic to work out the offset from the first of the month to the first Saturday, using @@DATEFIRST to normalize the day of the week.
SELECT firstsaturday = DATEADD(dd,(7 - (DATEPART(dw,DATEADD(month,DATEDIFF(mm,0,getdate()),0)) + @@DATEFIRST) % 7) % 7,DATEADD(month,DATEDIFF(mm,0,getdate()),0))
If anyone needs further explanation I'll try and get back to you later.
Hope this helps
Nigel