Sal,
I can sense your frustration, however, I wouldn't say that the 21 minutes is particularly horrible, particularly on a Windows XP machine (not a server) with only 512MB RAM. The memory required to sort 8.5 M unique records of a CHAR(10) field and allocate record identifiers across a b-tree is not insignificant. The MyISAM storage engine attempts to fill b-tree pages (1KB blocks) around 15/16th full, at most, so I wouldn't be surprised if what is occurring in your situation is a thrashing between the computer swapping in your virtual RAM space to make more room for the sort buffers.
Ulf makes an excellent suggestion for adjusting those buffers, however, if the memory on the machine is only 512MB, there may be little that you can do, considering Windows XP and other programs on the computer already consume ~100MB of RAM.
Jay Pipes
Community Relations Manager, North America, MySQL Inc.
Got Cluster?
http://www.mysql.com/cluster
Personal:
http://jpipes.com