Is there any way to prevent the deletion of iMessage history? Can a particular iMessage with someone be archived so I don't accidentally delete it?
Although not a strict answer to your question, you can archive all messages off-line, including attached images, by using the iExplorer app from Macroplant. It comes in macOS and Windows flavors, too.
Although a bit pricy (US$50) it is an incredible tool for accessing the data on your iOS devices that Apple makes impossible or difficult to do.
[Disclaimer: I'm a happy iExplorer customer. I have no financial stake in the Macroplant.]
If you have Verizon, you can create a my verizon account online with your child's number. From ther you click on my services, send a message. It will show you all of their texts from then on and store them for 3 months. Even if they are deleted off of the phone they will be online. It works best if imessage is turned off, if its on the text may show up out of order.
I dont know what cell service you have, if it's not Verizon, call customer service and see if they have anything like this.