Hi Karl @karl_zinglersen,
FME actually also can tile and calculate length per tile/cell very easily - even without creating any polygons. Tiler will do the splitting of all the lines. Aggregator by _row and _column will combine all the lines in each single (imaginary) tile, and then LengthCalculator will count the total length per aggregate. Or, you can calculate the length after Tiler and aggregate with summing the length attribute. Then you can rasterize this dataset using length in NumericRasterizer (through 3DForcer - set height = length).
The problem is performance - for millions of lines stretching across dozens of kilometers will take a lot of time, my guess is it will be many hours if not days.
On the other hand, a point cloud approach requires only a single vector operation - densification, the rest is happening in the point cloud/raster land, fast and efficient. I combined 16 copies of your original dataset (~390,000 features) and ran them through densification to 10 meters and cell size 1000 m. I got a 400,000,000 points point cloud, from which I generated the following raster, all together in less than 13 minutes (just for convenience, I reprojected it to UTM), and a single copy produces the output in 47 seconds.

Dmitri
densityraster.fmw