Exchanging a tier is easy, exchanging a layer within a might requires a recompile.I read some articles a few months back suggesting that layers, despite the need to recompile (note: you can build a layered project that uses local COM, or do a "patch" rather than a reinstall) might be a more efficient use of the architecture. Tiers may be good for systems that are less generalized or may need more changes/repairs - but for systems that are "reliable" or "seasoned", the layered approach was touted as a more efficient use of the architecture.
Imagination is more important than knowledge