Well, I have a few minutes, so...
If it were me, I'd first investigate the idea of making a local copy of the file with the all important leading four bytes: "[","]",@cr,@lf
Being able to leverage the iniXXXXpvt functions is worth the hassle -- they do so much for you.
The modified file could be copied back to the original location.
Adding the bytes to the front is easy: make a binarybuffer, binarypoke the four bytes in, use binaryread to suck in the rest of the file behind it, then write the whole thing out.
parsing the complex values is just some itemextract stuff. detailed work, but very doable.
(I'd use Regular Expressions (the chain saw of text operations) for the parsing, but that's a bit of learning curve.)
How fast does this have to happen? once per minute? 100 times a second, once per day? If it has to be super fast, then this gets trickier.
Also, is there a multi-user contention angle? do you have to worry about the file being locked? you'll have to add extra code to handle that.
finally: watch out for unicode. if the file is unicode, binary operations are slightly more tricky.
$0.02
-Kirby