Hello Rooster,
I haven't played very much with expiration type set as "Document" based.
If you are using "cache only", and then you are using the option "-c" in your arsmaint command, then the documents in the cache will be removed and this might cause a problem, because the index will survive, but not your document in cache.
I would test without using the -c, -x and -n options, to see what happens really.
If I have time, I will test it too :-D
Sincerely yours,
Alessandro