Offhand... I see nothing wrong with it. If all the various files are in the locations specified in the OPF (and the ncx file is well-formed) it should work.
Let me ask you this. What are you giving to kindlegen? The opf file, the html file, or an epub that contains both? If you're just feeding kindlegen the html file, it won't know the opf (including the cover) or ncx exists.