Ahhhh thanks! I couldn't find an Array Manual in the R18 documentation.
I was going like this:
maxon::PointerArray<MyCustomClass> myPointerArr = NewObj(maxon::PointerArray<MyCustomClass>);
DoStuffWithArray(myPointerArr);
DeleteObj(myPointerArr);
It seems my problem was with the PointerArray taking ownership of my pointers, then deallocating them before I was done with them. Since it doesn't seem that R18 has maxon::UniqueRef objects I decided to go with a maxon::BaseArray<MyCustomClass*> instead.
Thanks again for your help Sebastian!