The 7 layer model lives on. It remains a good reference point for discussing networking.
Devices that mix layers can do pretty interesting work, too (e.g., inspection of packets for security purposes, smart buffering for controlling host load, etc.). So the "every layer only talks to the layers immediately above and below" is kind of suspect, at least as dogma. There are probably other examples in very high bandwidth systems where you want to skip layers for performance reasons.