Are you losetup'ing and *then* running dd to create the file? From reading your post, I get that impression. If you are, you should create the file with dd, and *then* losetup it.