Solution 1:
Try to group both conditions using brackets:
SELECT *
FROM personinfo
WHERE (effdate between '12/01/2013' and '12/21/2013') and (workstatus in ('HIRED','REASGD'))
ORDER BY surname ASC;
Solution 2:
Use subquery:
SELECT *
FROM (
SELECT *
FROM personinfo
WHERE (effdate between '12/01/2013' and '12/21/2013')
) AS T
WHERE (workstatus in ('HIRED','REASGD'))
ORDER BY surname ASC;