I had the exact same issue. I noticed 3 things:
1. The project would still run correctly even though Quartus gave me the warning about the .hex files.
2. The SBT would only create a .hex file that was being used by Quartus if I first ran the project "as modelsim". Then the SBT would build me a new .hex file, but not if I simply built the project. Through my own research I found out that the command "make mem_init_generate" in the NIOS console would build new .hex files after I made changes to the C code.
3. For some reason multiple .hex files were created in various folders, and the one in the "mem_init" folder was the one being used by Quartus and not being updated by rebuilding the project. There were other .hex files in another folder that were being updated, but I can't remember where they were off the top of my head.
It seems to me that the tools should just auto regenerate a .hex file with every project rebuild, and store it in a place that Quartus already looks at, instead of me having to flounder around and make these changes and find a work around. Just a suggestion to Altera... :)