Play it safe - wherever you are in the World! Whenever I deal with datepart(dw,...) I capture what it returns for a known date and take it from there. For example:
declare @dowSat int
declare @dowSun int
-- capture these for known dates as they may vary based on SET DATEFIRST
set @dowSat=datepart(dw,'2006-10-28')
set @dowSun=datepart(dw,'2006-10-29')
If you then want to check a date for a Saturday or Sunday you compare it with @dowSat or @dowSun.