Wow, look at this! Someone has calculated the time in development already!
FYI, proprietary game engines are usually worked on and created by an independent team within the company. They usually have certain goals set in front of them, but they don’t develop with any particular game in mind. An engine is just an engine.
When there’s a need to make certain game (Like D4) - they take the best suited engine and put it together. AFAIK Blizzard is all about modularity and code re-usability. They don’t need to re-write all of it from scratch, as they re-use libraries and classes that are already created for other games.
For example, think of something like MovableOblect class. Every object, be it player monster or fireball projectile that would have to move around the scene - inherits from this base class. Inside, the class would hold object position, rotation information, anchor(parent) information, i.e. in relation to what object does this object moves. It will have methods for re-calculating all these things based on some input.
Once you’ve written such a class once, if you did a good job - you don’t have to write it again EVER. You can just plug it into your new game and it will work.
Blizzard does that A LOT, as do any other team that’s worth a damn.
In Diablo, because there’s already D3 that is in working condition - entire hierarchies of objects may be ported to and from rather easily. For example, an enemy that has health, is killable, can move around, has an animation manager and can attack based on simple AT - all of this can be ported from D3 (or even from Starcraft) into D4. Some elements like stats, AI resistances - may be replaced by other versions without taking everything else apart.
That’s why you may see “new engine” to be assembled rather swiftly. Doesn’t mean the work stops there, though, as there’s usually lots and lots of work to be done.