The dateadd function is adding a calculated number (8-dayofweek(date(2011,08,31),crmonday)) of days ("d") to a specified date (date(2011,08,31)).
Our starting date is always the last day of August as the first Monday in September has to fall within 7 days of this date.
So basically we've got add x days to 31/08/YYYY.
x = 8-dayofweek(date(2011,08,31),crmonday)
This dayofweek part of the formula calculates what day of the week the last day in August was if we say a week begins on monday (crmonday). IE if the 31/08/YYYY is a monday it will return 1, it's was a tuesday it will return 2 etc.
We'll go with our example and say the 31st of August was a Tuesday.
This is what's returned; dateadd("d",8-2,31-08-YYYY)
Which basically means the first Monday was the 6th of September.
Regards,
Ryan.