Don't use NVARCHAR - use VARBINRY (if they are small, less than 64Kbytes) or BLOB (if they are large) instead - or better, store them on a shared folder as files, and store the path in the DB.
NVARCHAR data isn't binary - it's Unicode text, and that means that translation of some values happens when they are stored / retrieved - you do not want that to happen with images as every single bit is important and a trivial change will corrupt the file. Casting data to VARBINARY on retrieval doesn't prevent that happening.
Also check the code which stored them - very often that is the source of problems:
Why do I get a "Parameter is not valid." exception when I read an image from my database?[
^]