Tracing GC is not an issue for the majority of applications, and just because a language has a GC doesn't mean it lacks support for value types, e.g. Modula-3, System C#, ...
Regarding affine types, while a great approach, the ergonomics still need to be improved.
The fact that Oracle, Microsoft, Google and Apple are now on the JIT/AOT train, tells it all.
To be fair, .NET always had AOT native compilation support from the early days, but NGEN is a simple AOT compiler only meant for faster startup.
For many applications running on a VM on different platforms Just Works. The idea is most definitely not over, in fact it is becoming ever more popular. Just look at the rise of abominations like Electron.
We don't need VMs, what we need is rich libraries and there are plenty of languages with support for AOT compilation to native code with such libraries.
Something that even C++ is finally adopting.
Regarding Electron, I hope it joins MSHTML in a couple of years.