I use SaveImage() over existing files all the time... you must have a permissions access problem, or file in-use elsewhere as Fred said. What OS and version?
SaveImage() overwrites files for me, just like CreateFile() does. As mentioned, your problem lies elsewhere, such as the file is read-only or something.