As you mentioned in an earlier post Intersect is the way to go if you are using SQL Server 2005 or later.
SELECT a.name,a.userid
FROM users a, aoi b, users_aoi c
WHERE a.userid = c.userid
AND b.aoiid = c.aoiid
AND b.aoiid = option1
Intersect
SELECT a.name, a.userid
FROM users a, aoi b, users_aoi c
WHERE a.userid = c.userid
AND b.aoiid = c.aoiid
AND b.aoiid = option2
Ofcourse if you are still using SQL Server 2000 you do not have access to Intersect. I have put together a query that I beleive will do the trick for you, give it a try and let me know.
SELECT DISTINCT a.userid,a.name
FROM Users a,efx_aoi b ,users_aoi c
WHERE a.userid = c.userid
AND b.aoiid = c.aoiid
AND EXISTS
(
SELECT 1
FROM users_aoi c
WHERE a.userid = c.userid
AND c.aoiid = 3
AND EXISTS(SELECT 1
FROM users_aoi c
WHERE a.userid = c.userid
AND c.aoiid = 4)
)
You will have to build the exists portion dynamically to include the options selected.
hope this helps