I am suspecting, after reading the logcat and dump, the kernel killed off quite a few processes, whether its down to the ROM itself, or a buggy RIL (Radio Interface Layer), RIL is responsible for communicating with the cellular radio base-band firmware.
This is the excerpt from the kernel, showing Dolphin, Alarm Clock, Google Voice(?) getting killed off:
[125362.321461] select 2452 (ogle.android.gm), adj 8, size 5199, to kill
[125362.321481] select 2543 (.osp.app.signin), adj 9, size 3650, to kill
[125362.321495] select 2559 (pp.clockpackage), adj 9, size 4222, to kill
[125362.321512] send sigkill to 2559 (pp.clockpackage), adj 9, size 4222
[125363.255635] select 1225 (ek.TunnyBrowser), adj 7, size 19674, to kill
[125363.255657] select 2452 (ogle.android.gm), adj 8, size 5189, to kill
[125363.255671] select 2543 (.osp.app.signin), adj 9, size 3648, to kill
[125363.255684] select 2597 (gphone.acc.free), adj 9, size 3850, to kill
[125363.255699] send sigkill to 2597 (gphone.acc.free), adj 9, size 3850
[125364.339592] touch_led_control: 2
[125365.378613] select 1225 (ek.TunnyBrowser), adj 7, size 19294, to kill
[125365.378646] select 2452 (ogle.android.gm), adj 8, size 5061, to kill
[125365.378664] select 2543 (.osp.app.signin), adj 9, size 3604, to kill
[125365.378681] select 2611 (ock.xtreme.free), adj 9, size 3969, to kill
[125365.378702] send sigkill to 2611 (ock.xtreme.free), adj 9, size 3969
This is the excerpt from the telephony, note the gap in time logged, last logged at 19:23:48.949 and 19:35:33.144:
01-13 19:23:48.949 D/RILJ ( 2574): [14954]> REQUEST_GET_NEIGHBORING_CELL_IDS
01-13 19:23:48.949 D/RILC ( 2366): [14954]> GET_NEIGHBORING_CELL_IDS
01-13 19:23:48.949 D/RILC ( 2366): [14954]< GET_NEIGHBORING_CELL_IDS fails by E_REQUEST_NOT_SUPPORTED
01-13 19:23:48.949 D/RILJ ( 2574): [14954]< REQUEST_GET_NEIGHBORING_CELL_IDS error: com.android.internal.telephony.CommandException: REQUEST_NOT_SUPPORTED
01-13 19:35:33.144 D/RILJ ( 2574): [14955]> SCREEN_STATE: true
01-13 19:35:33.148 D/RILC ( 2366): [14955]> SCREEN_STATE (1)
01-13 19:35:33.152 D/GSM ( 2574): [GsmMultiDCT] Stop poll NetStat
01-13 19:35:33.644 D/RILC ( 2366): [UNSL]< UNSOL_RESPONSE_NETWORK_STATE_CHANGED
Further on in the log related to telephony:
01-13 19:36:13.891 D/RILC ( 2366): [14972]< QUERY_NETWORK_SELECTION_MODE {0}
01-13 19:36:13.891 D/RILJ ( 2574): [14971]< SCREEN_STATE
01-13 19:36:13.891 D/RILJ ( 2574): [14972]< QUERY_NETWORK_SELECTION_MODE {0}
01-13 19:36:13.895 D/RILC ( 2366): [14973]< OPERATOR {AT&T,AT&T,310410}
01-13 19:36:13.899 D/RILJ ( 2574): [14973]< OPERATOR {AT&T, AT&T, 310410}
01-13 19:36:13.899 I/GSM ( 2574): EVENT_POLL_STATE_OPERATOR
01-13 19:36:13.899 D/RILC ( 2366): [14974]< GPRS_REGISTRATION_STATE { 1,a7e9,007537ea,9}
01-13 19:36:13.899 D/RILJ ( 2574): [14974]< GPRS_REGISTRATION_STATE {1, a7e9, 007537ea, 9}
01-13 19:36:13.899 D/RILC ( 2366): [14975]< REGISTRATION_STATE {1,a7e9,007537ea,(null),(null),(null),(null),(null),(null),(null),(null),(null),(null),0}
01-13 19:36:13.903 D/RILJ ( 2574): [14975]< REGISTRATION_STATE {1, a7e9, 007537ea, null, null, null, null, null, null, null, null, null, null, 0}
01-13 19:36:13.923 I/GSM ( 2574): <Leo> PrePLMN: 310410, plmn: 310410, ss.getState(): 0
01-13 19:36:13.923 I/GSM ( 2574): handlePollStateResult(); regState: 1, mNewLuRejCause: 0
01-13 19:36:13.923 D/GSM ( 2574): Poll ServiceState done: oldSS=[0 home AT&T AT&T 310410 HSDPA CSS not supported -1 -1RoamInd: -1DefRoamInd: -1EmergOnly: false] newSS=[0 home AT&T AT&T 310410 HSDPA CSS not supported -1 -1RoamInd: -1DefRoamInd: -1EmergOnly: false] oldGprs=0 newGprs=0 oldType=HSDPA newType=HSDPA
01-13 19:36:21.298 D/RILC ( 2366): [0001]> OEM_HOOK_RAW (raw_size=6)
01-13 19:36:21.302 D/RILC ( 2366): [0001]< OEM_HOOK_RAW
01-13 19:36:21.306 D/RILC ( 2366): [UNSL]< <unknown request> {0}
01-13 19:36:21.306 D/RILJ ( 2574): processing unsol response: java.lang.RuntimeException: Unrecognized unsol response: 11012
The NITZ (Network Identity and Time Zone) crops up a fair bit too, as shown below within the same telephony log, IIRC, NITZ handling was not exactly great up to ICS, in which a patch was made to handle the handling of the timezones (either roaming when browsing the net or something awry went wrong with the RIL:
01-13 19:13:19.035 D/RILC ( 2366): sendUnsolicitedResponses: multi client index=2, fd=28
01-13 19:13:19.035 D/RILC ( 2366): [UNSL]< UNSOL_NITZ_TIME_RECEIVED {13/01/14,03:13:18-32,00}
The telephony errors shown, are sticking out like a sore thumb, and also down to the fact that Froyo 2.2, is old, and may not be able to handle whatever issue is with AT&T that causes it. Also, AT&T could have had their systems updated/upgraded, that is sending out extra telephony information/NITZ in a format that Froyo cannot handle and freezes.
Best bet would be to try a firmware update and see if that resolves the issue.
Prior to doing an update, since the handset is rooted, best to make a backup of everything, use Titanium Backup to backup user apps and data, use SMS Backup & Restore to save the SMS messages. It will be inevitable that the upgrade will lose root, but then again, it would be easy to do that after the upgrade.