The behavior you describe and the nature of the file make me suspect that this is a sparse file. Sparse files are a primitive compression technique, in which large sequences of null bytes in a file are not stored on the disk. Here is an example where I create a sparse file:
$ echo a | dd seek=999999999 >sparse
0+1 records in
0+1 records out
2 bytes (2 B) copied, 6.614e-05 s, 30.2 kB/s
$ ls -l a
-rw-r--r-- 1 gilles gilles 511999999490 Apr 30 00:03 sparse
$ du sparse
16 sparse
The file sparse contains 511999999490 bytes (999999999 blocks of 512 bytes, all zero, plus the two bytes a followed by a newline). Yet the total disk space used by the file is 16kB (4kB for the final block, and 3 other blocks containing only metadata related to the location of the other blocks — all of them absent).
If honey.img is a disk image which was created carefully enough, it may be sparse where the disk had unused space.
When you read from a file, there is nothing to mark it as sparse. So if honey.img is a large disk image, dd may be reading gigabyte upon gigabyte containing only null bytes.
Running ls -l and du on the file (or, on OSX, ls -ls) would show the number of bytes and the number of blocks used for storage. If the bytes wouldn't fit in the number of blocks, the file is sparse. As I write, you haven't posted legible data that could confirm or infirm this.
The one tool I know on OSX that can copy sparse files efficiently is rsync. However, what you're doing here is not copying a file from one filesystem to another, but copying a byte stream (that happens to come from a file) onto a disk. You can only do this if the data actually fits on the target disk.
ls -ls honey.imgand show the output of that. – Kyle Jones Apr 29 '12 at 2:50stat honey.imgcould be more interesting thanls. – Mat Apr 29 '12 at 7:12