Well, once I cleaned up the residual shared memory segments left behind by the failed oninit, ipcs -m shows no memory usage.
/proc/meminfo shows MemTotal of 1989636kb but MemFree of only 172548kb, which I thought was low...
I then ran 'free' and it reported more or less the same thing, i.e. Mem total 1989636kb, used 1816460kb and free of 173176kb (same figures with 'top').
So I set SHMVIRTSIZE to 50000 and oninit came up fine with Real portion size 114188288, Virtual portion 51200000 and Message portion 544768.
OK so I've got something hogging memory, now to track it down...would have been nice to see an error message like "not enough memory available" though!!!