Re: 'Add Item From Memory' Issue
I definitely think it is a context issue like you mentioned. Since you are creating your LVClass with no reference wired, it is created in whatever context the VI is running in, which in the case of the provider VI is the NI.LV.MxLvProvider context. The AddItemFromMemory method is running in the context of the Item, which I assume is the My Computer context in the project. The trick to get around this is to explicitly create the LVClass in the same context as the Item input. To do this all you need to do is get the Application Reference from the Item input and wire that to your method node up top.
Hopefully this SHOULD work, but let me know if not and I'll try to think of some other ideas.