Seems to be. I've been working with ashlancer's qfg4-enhanced patches recently and everything appears to compile and work in game correctly. I've not encountered any issues and, so far, the translators using the patches haven't reported any problems. Probably why I didn't realize it was sci2.1 - it's working too well except for the views, which still seem to break randomly in different ways.
Edit: There are some issues I forgot about. KString (0x83) and KArray (0x82) will not compile in SCICompanion. KString should use the same hex value as String, so we can skirt that easily. KArray is only used twice in QfG4CD (array.sc and polyedit.sc), but that might require manual hex editing, because Array is a class in QfG4. None of the exported patches in Ash's repo contain KString or KArray, so I haven't actually dealt with them yet. Also pretty sure I've had issues compiling Phant and LSL7 scripts before, but too long ago to remember. QfG4CD seem mostly good, but since I'm only compiling/testing what Ash patched there certainly could be issues I haven't encountered.
I'm looking at Enrico Rolfi's Tradusci, but 2.4 was hosted in google drive, which blocked the downloads because of 'infection'; which is complete nonsense because a google 'scan' of .scr files always finds an infection, until you rename the extension and the virus magically disappears. /rant
Enrico removed the .exe from the source code for 2.4 this morning, so I'll try building it after work, but I understand it's not so much a view editor as a tool to replace cels of the same size with externally edited bitmaps. It will be interesting to see what its limitations are.
As for the original 936.v56 file I was working with in SCICompanion, changing a pixel adds 10k of bytes in four repeating blocks (view has 4 loops) to the end of the file. I'd like figure out what that extra data is supposed to be and if any loop or cel entries actually point to it. Also need to compare other views known to corrupt when saved, but time is in short supply at the moment.