Yes, this happens in all previous versions
When using the simplified syntax introduced in V3:
Works:
Get-ChildItem | where { !$_.PSIsContainer -and $_.Attributes -notmatch "Archive" }
Does not work:
Get-ChildItem | where {PSIsContainer -and Attributes -notmatch "Archive"}
Even better:
Get-ChildItem | where PSIsContainer -and Attributes -notmatch "Archive"
All three expressions should yield equivlent results