This problem is addressed in ArcGIS 8.1 Service Pack 1. See the Related Information section to download this pack.
A join by location (or spatial join) that involves layers based on XY or route event sources will sometimes not work properly.
The join will either process for a long time without completing or will cause ArcMap to crash.
This problem will only occur when the event table does not have an ObjectID field. Tables that don't have ObjectID fields include delimited text file tables, tables from some OLE DB data sources, and unregistered tables in geodatabases.
If the event table has an ObjectID field, join by location will process correctly. Tables that have an ObjectID field include dBASE tables, INFO tables, and registered tables in geodatabases.
To correct the problem, use data that includes an ObjectID field. To do this, export the event table to a format that includes an ObjectID field. If you are using geodatabase data, register the table with the geodatabase.