It's just a throwback to the 8.3 file format from DOS. Most filenames are still 8.3 under even Win2k. That's why Win2k has tracert.exe instead of traceroute.exe, etc.
Also, understand that long filenames under Win9x is just a hack. They are really 8.3 filenames with special entries in the directory structure to fake long filenames.
I personally use a lot of extensions that are longer that 3 chars. .java, .class, .properties, .html, etc.