If you can create iMessages using SQLite, then you need to root the phone. So if the phone is rooted, you can't trust these messages.
Another case would be if you rooted the phone and then unrooted it, this way one can perfectly fabricate it.
Another thing is analysis of the SQLite file. If you add records to appear as they are yeards old, but in the file they are added at the end, then you might conclude these are fabricated. This also can be sorted by redumping the SQLite file, so exporting it to SQL queries and importing into file again. This way records will look like they have been saved years ago.
So by unrooting the phone and redumping the sqllite file you can pefectly fabricate it. You would need to unroot in a way to not leave any traces of rooting.
Finally you would need to make sure on the flash there are no old copies of SQLLite file.