OK ... I found the check that stops the cloop load.
In 'compressed_loop.c' (AKA cloop.o) is a check if this is a block device, and that the end of the file matches the last offset. It is making the incorrect assumption that the offset is short, rather than the file has been extended.
Code:
 if(!isblkdev &&
    be64_to_cpu(clo->offsets[ntohl(clo->head.num_blocks)]) != inode->i_size)
  {
   printk(KERN_ERR "%s: final offset wrong (%Lu not %Lu)\n",
          cloop_name,
          be64_to_cpu(clo->offsets[ntohl(clo->head.num_blocks)]),
          inode->i_size);
   vfree(clo->zstream.workspace); clo->zstream.workspace=NULL;
   goto error_release_free_all;
  }
The result is a message in 'dmsg' of:
Code:
cloop: Initializing cloop v2.00
cloop: /tmp/KNOPPIX_NOV_29_04: 1600 blocks, 65536 bytes/block, largest block is 65562 bytes.
cloop: final offset wrong (39821172 not 39821204)
Those two numbers are the file sizes before and after signing.

BillS