Set up smart mailbox to hold all messages to AND from a particular person
For both rules, change this portion:

Is Equal To


to this:

Contains


Utilizing Is Equal To requires an exact match against whatever you trying to match. Depending on how Mail is looking at a recipient's address, it may include brackets around it and/or include the person's name, in addition to the actual email address. These strings wouldn't match just the email address, obviously. Using Contains instead allows it to match the string you know should be there - the email address - no matter what Mail is actually matching against.