74HC165 shift-in daisy chain question...

Need help as to why the last (5th) shift In board isn't reporting the right outputs.

You're storing your bit readings in a unsigned long (32bit), so after 4 shift registers you don't have enough storage space left for the 5th. Change the storage to a byte array. You cannot use that as a return value in the way you currently use the long in the rather simple sketch you can use globals to storage these values.