It's because global topics does an array merge with the topics list and the global topics array. This reorders the array indexs setting the first one to 0, and since you're using the array index instead of the topic id value within the array the first one is 0 and gives the Meta ID missing error. ~.~ I've tried fixing it on my end by doing array() + array () instead of array_merge and in my testing it works, but apparently not for everyone. :/ You can fix it by just using the topic id value in the array instead of the index.
When you delete a post you can find it in the deletd content section of the mod cp. If you go in the mod cp and click the permanently delete button from here, then it is permanently gone. Additionally anything in the mod cp in deleted content is automatically removed by a task that I believe runs once a day.
It's better to ask what's the difference between a database record and a page because an article really is just a database record made to be more obvious so people unfamiliar with IP.Content can take advantage of the database system.
For ddatabase records you basically get to fill out multiple fields and then have those fields display in a certain way in a template. Think of the periodic table of elements. If I wanted to make a page for every single element then I could go in IP.Content and make pages for each one. Then if I wanted to make a layout change I'd have to change the page for every single element. Alternatively I could make an element which would allow me to just make the page once and then I could fill out forms that contain all the info for each element and the pages would be made automatically. If I wanted to change something in the display I only have to do it once.
FWIW I have seen them try multiple attempts at helping resolve any issues that come up before giving the "we can't help you because of your server config" line. They even suggest changes that can be made to the server config sometimes I believe.