To summarize:
- identical project file and sources checked out from svn
- identical libraries as far as you can tell
- presumably same compiler used
- differently sized executables
- different program behaviour
A different compiler, even a different version, could explain differently sized programs but not different behaviour, unless there is a serious compiler bug, which is extremely unlikely. You can ask the compiler for its version to be 100% sure, however (if you use the GNU compiler, try e.g. gcc --version)
Different versions of static libraries could similarly explain differently sized program sizes, but should normally not result in incorrect behaviour. To turn the "as far as I can tell" into certainity, you and your collegue should either both do a clean install of these libs (from the same aggreed version), or compare checksums (such as md5sum).
If you can safely rule out the possibility of malware on your collegue's computer (this could very well explain both symptoms!), the likely reason for the combination of "differently sized program and different/wrong behaviour" is that one of you has some optimization options enabled or compiles a different laguage standard, and at the same time, the source contains code that is not allowed by the standard (but tolerated, maybe with a warning) or triggers undefined behaviour.
Always compile at least with -Wall -Wtraditional and fix anything the compiler complains about, even if you think it's silly. Always. This prevents 99% of all "behaves strangely sometimes" kind of errors. Really, compiler warnings are not an annoyance, they are a help.
Note that having different build options in two different places can happen, even if it's not immediately obvious. First, the project file could have been locally changed and not committed. As long as no conflicting version is committed on the other side, you will never see as much as a warning from Subversion. Second, your collegue could have set some options globally in the compiler preferences. These will be applied to every project.
To rule out the possibility of different build settings, save the build log on each machine to a text file, and diff them.