It seems odd to me to be selecting on a specific date value. It's not wrong but you might want to select a range of dates.
What have you done to debug this. Have you done a var_dump($form_data) to make sure the object contains values you expect? What about the mdl_attendance_sessions tables... is the value you expect in a record?