Your should be able to use a calculated field to create an actual date and then sort on that descending and use Top whatever. That is, as long as the day value does not matter. For this, I'd say it doesn't. However because you've put the year first, I can only see this working if you use a function to return the date. That's because I don't think you can use single quotes or chr(34) (double quote character) to concatenate a string to use in the DateValue function. In other words, I don't think things like
GetDate: DateValue(""" & June 30, 2004 & """") will work. If you're willing to try calling a function from your query I/we can write one. You need to put this function in a standard module, so if you haven't one you'll need to create that too.
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.