You can divide the lines into fixed-length intervals using GeomToCoordsLineSequence. Eg, the inner SELECT with SPLIT could be:
SELECT [mfd_id], SPLIT CALL GeomToCoordsLineSequence([geom], 0, 1000000, 50)
The arguments for GeomToCoordsLineSequence are, in order: line, begin distance (I used 0, you can start with, say, 25 meters, the value could be anything), end distance (I used a big number that likely exceeds the length of the line, you can use something else, the value could again be anything, and if it ends up being less than begin, the coordinates would be produced in the reverse order), step (I used 50, the same value as in your query).
Here's what the produced coordinates look like:
See the Decompose to Line Coordinates transform which uses that function.
On MFD_ID, I see why the alias is needed: yes, switching from * to a specific field makes the query parse, but this just fails later on SELECT INTO because the inner SELECT may generate multiple records with the same value of MFD_ID, and MFD_ID has to be unique.