I had been struggling with this for years. Here is what I've wound up doing.
The problem is that server-side rules run as the message is delivered. As you've figured out, if the message gets moved on arrival to a user defined folder, you won't see it in the inbox.
I have a ton of rules that move messages into folders based on the sender. I went into Rules and unchecked everything that I need to initially see in the inbox to keep those rules from running. For those messages, they'll now remain in your inbox where you can see them on the phone.
Once a day, I run the rules which will move all of the "ruled" messages out of the inbox and put them where they belong. In Outllook, go to Rules, Manage, Run Rules Now. Select All (this just checks them temporarily for this session) and then Run Now (making sure your running it on the Inbox.
To make this quicker, I put the Run Rules Now applet on the Quick Launch toolbar at the top of Outlook. That will take you directly to the Run Rules Now dialog. You just select all and run now.
It's not perfect, but its about the best I've figured out.
You need Outlook 2010 to do this, as 2007 and prior doesn't allow you to quickly temporarily check rules just the run them manually.