Cable TV providers act as a "middle-man" between the signal source and the viewer. The cable provider receives the original signal, processes it, and then outputs the processed signal to the viewer. The viewer experiences a delay corresponding to the amount of processing the cable provider is performing and the speed of the equipment involved. The more processing the cable provider does, the more delay the viewer experiences; similarly, the slower the equipment used, the more delay the viewer experiences. Cox recently decided to increase the amount of processing by transcoding the MPEG-2 signal they receive to MPEG-4, as well as changing the resolution of 1080i content to 720p. If Cox did not upgrade their equipment speed to offset the delay attributable to this additional processing, that could explain why the delay is so large now.
An additional explanation could be that the timing of the output signal is dependent on the time set on a particular clock which is running slightly behind real-time. So if the clock says it is 8:00:00 p.m. when in reality it is 8:00:30, the signal will be delayed by 30 seconds. I don't know why anyone would design a system in such a silly manner, but it is not beyond the realm of possibility.