Via provides proprietary all in one framebuffer driver for all their integrated graphics:
This package contains the console framebuffer driver Source Code supporting CLE266/CN400/CN700/KM400/KN400/PM880/PM800/PN880/PN800/P4M800CE/P4M800Pro/VN800 UniChrome family integrated chipsets for Linux kernels 2.4 and 2.6. This file is 100kb size.
So why Nvidia can't?
This is the same situation like with mpeg-4 acceleration for X - Via can support it for cheap integrated graphics but Nvidia can't.
Nvidia's own accelerated framebuffer driver could solve random freezing during vesafb console<->X switching.