Hi Jeff. The attribute is preset. Well for now it's preset. Maybe I'll try what you said as I only had it preset while testing out the block.
Since posting I've decided to go with a simpler MTEXT object and just add XDATA to it (I'm still decided my exact approach). Grrr1337: The link will be invaluable as 1) I need to brush up on my entmake'ing skills and 2) I'm (for now) adding my XDATA using Vanilla LISP. Juggling the objects from a LISP entity to a VLA-OBJECT might get me into hot water later on in the coding process. Also, it explains why (I originally forgot to mentioned this) using the ATTSYNC command on my block fixes the misplaced attribute.
I think what is happening is that my version of AutoCAD has some sort of a glitch, or the glitch only occurs if the multiline attribute is preset (single line attributes are appearing properly).
Off topic: In Jeff's code, line 4: the VLAX-INVOKE function actually bypasses some of the digging (skips the need to deal with the variant and safearray) and actually shoots out a list of VLA objects directly. The VLA-INVOKE-METHOD command produces the variant. I'm not sure why this is as Autodesk's help states that VLAX-INVOKE is legacy and was replaced by VLAX-INVOKE-METHOD but they obviously do different things. I had been using vlax-invoke because I noticed it in so many people's codes. Only when I decided I really needed to learn what I was doing did I start playing around with each version (I was struggling to get a coordinate list into a polyline I think and not understanding that it needed to be a variant [or a variant within a safearray?]).
Much thanks for your help guys!