A delete query that joins two tables, deletes rows from the many-side of the join. It does not delete rows from the one-side. If your criteria includes something from the many-side table, you'll need to use a subquery in the where clause to satisfy the many-side criteria.
Dates are not stored as strings unless you've done something unnatural. The datetime data type is a double precision number with the integer portion holding the number of days since Jan 30, 1899 and the decimal portion holding the number of milliseconds since midnight.
01/31/12 8:27:16 PM
print cdbl(#01/31/12 8:27:16 PM#)
As you can see by the above snippet that I pasted from the Immediate window, there's been almost 41,000 days since Dec 30, 1899.
Since dates are not stored as strings, you can't use LIKE the way you are doing. The criteria should be
Year(MasterNameListNeon.CreateDate) < 2008
The Year() function extracts the year from a datetime field and you seem to want to delete anything created prior to 2008.
And finally, your column names are indicative of a non-normalized schema. In a spreadsheet you might have a column named [AB Invite 2011] but you would NEVER, NEVER, NEVER, NEVER have such a column in a relational table. That data belongs in a separate child table that contains columns such as RecID (autonumber primary key), ContactID (foreign key to parent table), Action, ActionDate.