Thanks for your thorough reply! I usually follow all the steps you listed on a regular basis as I'm always setting up new versions and testing them. Once I read your post I realized my error - I am using the client version for both server and client. I think I once did a comparison between the server and client downloads and found that they were the exact same file size (I forget which version, and for all I know it may not have been the same mod) so I didn't think using the same one for both would be a problem.
Strangely enough it does work, partially. My crashes happened every 15 minutes or so with the 0.5.1 version of Tekkit Lite, and now somehow with 0.5.2 they're only two or three times a day. I'm going to upgrade to version 4 and use the proper versions for server and client and see what happens.
Oh, and since you asked, I'm running Ubuntu Server on a machine with 4 GB of RAM and a core2duo 1.8ghz each processor. It's not fancy but it gets the job done, and fairly well considering I built it with spare parts.
EDIT: Still not working after a proper clean install and the right versions in the right places, and getting the same error too. My crash reports look like this:
Description: Exception in server tick loop
java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextEntry(HashMap.java:894)
at java.util.HashMap$KeyIterator.next(HashMap.java:928)
at ii.a(EntityTracker.java:237)
at net.minecraft.server.MinecraftServer.r(MinecraftServer.java:692)
at ho.r(DedicatedServer.java:270)
at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:599)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:497)
at fy.run(SourceFile:849)