Is it reasonable to set up a cron job that will run "sa-learn" more frequently than every 24 hours (eg 6 hourly), or is there another solution to this (short of upgrading my ancient hardware)?
Sure. Run it as often as needed. It may block bayes access while it is running, so if you have a really busy system (and it sounds like you do) you want to run it often enough to keep the processing time for each shot down to something reasonable.
Loren