Older the ROM, less speed. I am on 2.38 and wouldn't go back further if I were you.
Best ROM depends on what you want it for. 3.1x is definitely better at memory management and a lot of more recent software works on 3.1x and not my dinasour. I prefer the dinasaur as it's better with dialup and that's what I use. I also don't have another box here and wouldn't want to have to go without my Z during tweaking.
Have already done a lot of tweaking with mine. Also, your 3.1 comes with Opera 6 IIRC, and 2.38 comes with Opera 5. I've installed Opera 7.30, which gives me better web access than 5 ever did, but it crashes very quickly unless I keep images turned off and keep closing other pages. I've learned tricks to manage memory better, but unless you want to use dialup, or something else that's only available for old ROMs, I'd stick with what you've got.
all sharp's ROMs have broken symlinks, even the more recent ones, there's no perfection there.
Again, depends on what you want your Z to be...mine works as my desktop, and I'm a command line freak, so I spend a lot of time in bash and have added a number of commands that were left out of busybox, like "less" and I don't recall what else. You can check out my websites.
sdjf