I can't reproduce it. Here's how I tested.
#spawn an NPC
#npcloot add these 10 items that have maxcharges=-1
Code:
mysql> select id, name, maxcharges from items where nodrop=1 and maxcharges = -1 limit 10;
+------+--------------------------+------------+
| id | name | maxcharges |
+------+--------------------------+------------+
| 1044 | Velium Round Shield | -1 |
| 1134 | Writ of Dragonkind | -1 |
| 1135 | Mask of Tinkering | -1 |
| 1197 | Maple Leaf Mask | -1 |
| 1397 | Werewolf Spleen | -1 |
| 1402 | Gilded Cloth | -1 |
| 1605 | Robe of the Spring | -1 |
| 1606 | Mana Robe | -1 |
| 1715 | Abram's Axe of the Stoic | -1 |
| 1736 | Algae Covered Flesh | -1 |
+------+--------------------------+------------+
10 rows in set (0.01 sec)
Killed the NPC, looted the items, put them in a Trader's satchel, and had another character buy them.
As each one was purchased, they disappeared from the Trader's inventory and the Trader window. Camped the Trader and relogged him and they were still gone.