As a thought, are you using NOLOCK?
As a second thought, are you doing any transforms on the data in the Data Flow task that MAY be changing the data?
Another thought, any chance the data is changing on the source AFTER the SSIS package is run?
Yet another thought, any processes being run AFTER the data is copied over that MAY be changing the data?
Final thought - are you removing the data prior to the data load (truncate and refresh)? With this thought, I am wondering if MAYBE the N's and Y's that you are seeing incorrectly are actually correct, but that you have the old row (where it was a Y) AND the new row (where it is an N) in your table?