I'm throwing out a non-researched guess, so, please use this only as a suggested pointer toward the real answer.
in reply to CRC32 program logic problem
I would question how your current hardware represents data. Is it little endian or big endian? And I believe the CRC engine would need to re-arrange things as needed depending on the endian-ness so that either type of hardware would come up with the same answer to a given input.
Update: Nevermind, you're using string representation of binary numbers, so my attempt at helpfulness falls well short of the mark.