Unfortunately, there doesn't seem to be an easy way to do this. Here's the approach I used:
1. Put an "iPhoto Library" folder in some shared location (/Users/Shared, for instance), or move one user's iPhoto Library folder to this location.
2. Remove each user's iPhoto Library folder and replace it with a Unix symbolic link to the shared libary. (For example, sudo ln -s "/Users/Shared/iPhoto Library" "/Users/username/Pictures/iPhoto Library" or use a third-party utility such as Path Finder. The sudo lets you do this to the home folder of a user other than yourself even if you wouldn't ordinarily have permission.)
3. Before switching to another user, fire up iPhoto and make sure everything works, then quit iPhoto.
4. Set the user privileges on the shared iPhoto Library folder so that all users can read and write to it, and apply these privileges to all subfolders and files.
Sounds like you may have been successful with the first few steps, but didn't get step 4... you, the user who set this all up, have write permission to the iPhoto Library folder and the files within it, but nobody else does.
The problem with this approach -- at least as of iPhoto 1.1 or whenever it was that I first set this up -- is that new photos will be owned by the user who imports them, and that user will be the only one with write permission. So, all users will share the same iPhoto Library, but you can only edit a picture if you were the person who imported it. This can be worked around by using an automation utility (such as the Unix cron scheduler) to automatically repeat the above step 4 at regular intervals (say, every day, or every few hours).
This procedure seems to still work for iPhoto 4 -- I haven't tried accessing my library from a different user account yet, but it still works for one user at least.