Save the picture as a .PNG. PNG allows all layers to exactly save as it is, while JPEG messes around with the edited picture.
If problem still exists, go to the Image Tab (if that's what i think it is), and Flatten the Image for better results when saving. Saving the image as TIFF works great also.
If problem still persists, Delete the Background Layer(you must first unlock it, by double clicking on the lock), and see if that works. Or, create another layer with a TRANSPARENT Layer, if done right, On the LAYER panel, you will see the layer's picture with Small White and Gray boxes (meaning transparent). Then put the layer under all the others, and save.
If it still doesn't work, take the BACKGROUND ERASER Tool, and slowly erase the white background to make it transparent. Then Save.
OR Take the magnetic lasso tool, or the Pen Tool, and draw around the heart. Press CTRL+SHIFT+I and press delete. Or right click without pressing the keys and Click on Select Inverse. Then press delete. Then Save :)
That's all i got for now :)