If your file extension is .sfc, Asar assumes the ROM has no header. (A header, in case you didn't know, is 512 useless zero bytes at the very start of the file.)
The ROM name is stored at a different location depending on whether the header's there or not. If your ROM has a header but you make Asar assume it hasn't, it will look for the ROM name in the wrong place, thus finding garbage and thinking your ROM is corrupt.
Please check post dates before posting this thread is 5 years old and you'd be better off just making a new one.
One way to fix this though is to run the unmodified rom through RomClean to make sure it's good. Another way is to make sure it has a .smc extension not a .sfc extension because Asar uses the extension in this case .smc to determine if the Rom has a header or not.