Depends. A lot of modern languages will set an error that can be retreived via GetLastError(). Which Pixel uses (though I'm not sure which contexts call it and which don't at the moment. See below though - it's a moot point in this situation.)
Modern APIs have deprecated mixing error codes with usable return values exactly for this reason: there's no telling apart an error from a bona-fide correct value. This is especially common with modern graphic APIs, like OpenGL for instance.
IIRC, CS uses fread to work with files (a relic from the C era I'm also guilty of using
) which takes a pointer to some reserved memory to fill up with read info and returns solely an error code. A simple tst eax,eax / je (exit) is all it would take to cancel the read operation and fail the method. Wether Pixel tests this or not, I can't say right now, though, so you could be right anyhow.