I use a GPG encrypted key for the root filesystem and a unencrypted key file on the root partition for swap decryption.
Isso significa que você precisa montar o sistema de arquivos raiz para poder descriptografar o swap? Se assim for, isso provavelmente pode ser a causa de seus problemas. Você não tem permissão para acessar (gravar) sistemas de arquivos enquanto estiver em hibernação (porque eles ainda estão "montados" pelo sistema hibernado).
* BIG FAT WARNING *********************************************************
*
* If you touch anything on disk between suspend and resume...
* ...kiss your data goodbye.
*
* If you do resume from initrd after your filesystems are mounted...
* ...bye bye root partition.
* [this is actually same case as above]
*
A hibernação é um negócio muito arriscado, basicamente você tem que esperar por qualquer sabor do Initramf para lidar com todos os casos corretamente. É melhor usar uma partição de swap simples que possa ser acessada sem qualquer perplexidade.