I also had issues with cruise control in the beginning. I'll list out the steps I went through, with the actual root cause listed last:
1. Certain CELs can prevent cruise control, check to see if you have anything super wonky. If it's running and driving fine then that's probably not the issue.
2. The CHMSL circuit needs to see a resistive load (at least that's the general consensus, there's been speculation that early model donors aren't set up this way but nobody's tested or confirmed). The stock CHMSL from the Cobalt would work (obv) but if you have an LED CHMSL (like I do) then a resistor needs to be wired in parallel with the light to let the BCM know there's something there so it will grant you cruise control.
3. Continuity to and successful actuation of the brake pedal and cruise control switches. Later model donors with the single position sensors for the clutch and brake are a little different and I'm not knowledgeable there and I don't want to speculate. On early model donors with two switches per pedal, one switch on the clutch (bottom of travel) is for the starter safety and the other is cruise control cancel. On the brake pedal, both switches are at the top of travel, and one is for the brake lights and the other is for cruise control cancel. I think there's some cross-checking between the two but that's their designation. You need to make sure that both cruise control cancel switches are active when they're supposed to be and not when they're not, which would be telling the BCM you're on the brakes/canceling cruise control all the time and thus never granting you cruise control.
4. This was my root cause... one of the pins on the button panel was not soldered to make the connection. You can either take a multimeter to each of the switches and each of the leads and test to see if any of the buttons' continuity or resistances aren't what they're supposed to be, or at least start with a visual inspection.
My picture's not hardly worth anything but one of the resistor pins that's supposed to bridge the contacts on the resume switch was almost in place... but not quite. I heated up the soldering iron and pushed the resistor pin into the solder on the switch blade, and everything worked perfectly after that.