Free Forth systems are bad for Forth. Free Forths give Forth a bad name. There are good free Forths. The discussions on this topic are much cooler since Mike Haas has dropped from comp.lang.forth. Everyone is using files and all third-party tools are designed for files.
Files waste less space.
Blocks lead to horizontal, unreadable code. Well, it actually generates IEEE-1275 Forth that then must be run through a tokenizer. Really, it generates pretty ugly Forth code. It's easy to generate lousy Forth, but it's very difficult to generate nice clean optimized Forth. C and stack-based languages don't mix too well.