(Too long for comments...)
Since you mentioned being new to CF, a little background on how CF processes database queries may help in understanding why the error occurred and what types of things you can (and cannot) do within a cfquery.
Although CF can communicate with a database engine, the two are totally separate, and speak completely different languages. The fact that you can mix CFML and SQL within a cfquery tag gives the misleading impression that CF functions can operate on database objects (or vice versa). They can't. The CF server knows nothing about database objects (nor does the database engine understand CFML). Any CFML code within the query tag is processed first - on the CF server. The generated SQL is then sent to the database engine, and executed separately.
When the CF server encounters a database query, it parses the tag contents, looking for CFML variables or expressions which must be evaluated, ie:
SELECT Column FROM Table WHERE ColA = '#form.someField#' AND ColB = '#form.otherField#'
It then converts those variables and expressions into literal values, ie strings, numbers, etcetera. Finally, CF hands the generated SQL string off to the database engine for execution, ie:
SELECT Column FROM Table WHERE ColA = 'John Smith' AND ColB = 'ABC'
So the reason CF chokes on #DateFormat(w.start_date, "m")#
is that it does not understand w.start_date
refers to a database column. It thinks it is the name of a CF variable: specifically a structure named "w", containing the key "start_date". Obviously no such variables exist. Hence the undefined error.