Currently, when my server goes to store a character’s information, it’ll delete all records of their items, and then use INSERT INTO to input the items with their new quantity/stats/etc..
That works fine most of the time, other than in mayday situations. What a player recently experienced was their inventory completely stripped of items, since the server crashed just after deleting their items, but it didn’t have a chance to re-save said items. What would be a better method of saving that information to prevent anyone from losing their items again?
Consider using transactions. Make deletions and insertions inside a transaction. This will garantee the consistency: entire transaction will be either done or not done in case of energency.
MySQL supports transactions for InnoDB and BDB tables, but not for MyISAM tables. So you should use proper database engine.