Further to Trevor's note above about getImageBlob potentially returning an empty string for large images.
This seems image format dependent. I have a large (12046x8363) image which is returned ok. But if I call setImageFormat('pdf') and then call getImageBlob() again. Example:
<?php
// Image Manipulation here.
$pngData = $imagick->getImageBlob(); // Returns a large PNG.
$imagick->setImageFormat('pdf');
$pdfData = $imagick->getImageBlob(); // Returns empty string immediately
?>