The following should work:
SELECT *
FROM table
ORDER BY
SUBSTRING_INDEX(stupid_date_column,' ',-1),
FIND_IN_SET(SUBSTRING_INDEX(stupid_date_column,' ',1),'January,February,March,April,May,June,July,August,September,October,November,December')
But! note that storing a date like you did is not very intelligent. A better way would be either to store it in a varchar column in the following format: '200209' (for September 2002) which would make this ordering business a lot easier, or just put this into two columns, which could both just be numeric columns (yeah, and of course you could just use the YEAR column type. Good luck 🙂
regards,
thom