I have used Things and Omnifocus extensivelly. While I am not entirely into GTD, I have read all tutorials and have a fair understanding of how Omnifocus and Things work. Having multiple tags is nice, but I have found another way to deal with it: Folders!
Let me give you an example: In Things I have a tag named Heidi (my dog :) ) and under that another three: Health, Care and Food. If I want to buy some food for Heidi I would just create a task inside the area Heidi (which is also a tag in this example) and assign it the Food tag.
In Omnifocus I have a folder named Heidi and underneath it subfolders for each tag in Things. Under each folder there is a single items project where all relevant tasks reside.
I have struggled a lot in order to find out how to use contexts in a way that makes sense for me. I decided to create contexts to show the time and complexity of the task. I have created these contexts:
- Someday
- Waiting for
- Delegated
- Effort: High
- Effort: Medium
- Effort: Low
- Milestones
- Planned
- Needs preparation
- Trip required
Now to get to your example, I think I would just have a folder named Bob and underneath it maybe another folder named hardware store. I don't know if that is too complicated or if it is the best way to make Omnifocus work, but it works for me well..