As a side project, I'm looking into the effort required to (semi-) automate conversion from Avenue to Python, instead of keeping ArcView 3.x around to run them.
I have over 1000 scripts and extensions for ArcView ;-). Some of them do unique things, such as certain forms of random sampling and data conversion either unavailable in most other GISes or available at considerable cost (e.g, need an ArcInfo license). It's easier to keep using them with ArcView 3 than porting them to a new environment (which will go unnamed) that is constantly evolving and constantly requiring rework of old code because the vendor has no respect for backwards compatibility or their users' investment. Once burned, twice shy.
But the main reason I keep a machine with AV 3.x running is that it is much easier and faster to do certain things with it than with any subsequent software released by ESRI, such as joining and relating tables, joining tables to themselves, and easy but sophisticated calculations of shapes. Last week I turned to AV 3.x on a four year old PC to do some joins and mapping involving layers having only 30,000 features (but 200+ MB on disk) because ArcGIS 10 could not accomplish these tasks in any reasonable time on a high-end Xeon workstation.
If your code uses high-level Avenue objects with any frequency, automatic conversion to anything else is impractical if not hopeless. If it uses entirely low-level objects--numbers, strings, dates, booleans--then it almost surely was ported from some other place to begin with!
XTools and ArcView (3.2a) has fast table joins...
though is available for ArcGIS 10 http://www.xtoolspro.com/
but don't miss it as still use it.
Multiple Layouts still beats 'Data Driven Pages' http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#/What_s_new_for_page_layouts_and_data_frames/00qp0000001m000000/
One thing I dont miss is the old "Segmentation Violation" errors...
I still have a copy of v3.2 handy. I remember that v3.2 seemed to have less memory leaks, and that it would process larger datasets than v9.1 ---> v9.3.1 (not recently been using v10 for Geoprocessing).
I did notice that these leaks were "improved" over the versions of ArcGIS Desktop, but 3.2 still never bottomed out, even if the job took over 2 days.
AV3 because you can edit (and fix) the project files in any decent text editor!
I also used AV3 regularly up until about a year ago to quickly view and browse data as it's much faster than Arcmap when you just want to have quick look at things. I stopped using it daily when we moved the last of our primary datasets to file geodatabase.
I'm not sorry to be using python instead of avenue, though it would be nice to have more gui bindings available to it (as avenue has).
In 2003, after much consideration of conversion techniques, we spent 4 years translating by hand 700 Avenue scripts and 40 dialogs in an extension to a VB code extension for ArcGIS8.3. Soon after, in less than a year, we recoded the logical concepts of the extension into Python scripts for geoprocessing under ArcGIS9+. I have also written a translator in Python to convert Avenue classes to Python classes. Now there are thousands of stubbed methods to code. Go straight to ArcGIS tools! It's faster!