I think I read some time ago on these boards someone complaining about traps (and hidden doors) being automatically spotted. I think the easiest way is simply to have the trap/secret door roll a stealth check (reduce the DC by 10 and add the roll a d20). The roll might account for the skill of the maker, or perhaps the door has become more visible over the years due to use, etc.
Exactly what I think- Certainly there should never be a perception 'check' made with no rolling on either side.
I just house rule that if neither side would ordinarily roll (such as trap vs passive perception), you make one side an active check instead. This works quite nicely, and eliminates the auto detect problem.
The real problem with passive perception is that active perception is not necessarily better, and is worse almost half the time. This means that unless you build a up a number of clues (as wizards intend), where passive perception picks up a clue, and further searching reveals the hidden door etc, you get into real trouble.
If you just have a secret door with no clues, you have a rather ridiculous situation where characters either spot it automatically, or are quite unlikely to find it when searching. This means that you have to choose for a party just to immediately know about the door with no effort, or accept that they probably won't find it even when they search.
This has really annoyed me as a player- I've taken a rogue through a dungeon, searching for hidden doors/traps as appropriate, fail to find them, and then trigger the trap. It makes searching seem pointless, as it mostly reveals nothing.
I personally am inclined to solve this by ruling that when searching (spending a minute per square), you add +5 to perception. This means that a door could be hidden to passive perception, but then would generally be found with searching.