When I did that, it seemed like it was intentional. You could only get to the portions that signal success to the server by cracking parts of the bomb which was what we were graded on. The "don't let it explode" part was really the hey here's how you can use gdb to stop your program before it does anything serious.
Yeah, I thought that's how everybody did it; when my class was assigned the project, we lost half a percentage point off our final grade for each time the bomb exploded. We very quickly learned to do things like "b explode_bomb".
So if I recall, you were supposed to have to do a lot of investigative work to bypass stuff. There were several different "levels" that got progressively harder to crack. But there was nothing that stopped you from moving the program counter directly to the code that signals success. Which is what we did. Every level, exactly the same: fire it up, move program counter, send the success notice, finished!