It seems that the data pulled from the database is serialized, but no unserialize function was being called.
This adds the appropriate unserialize function calls

diff -Nurp ../cck.orig//modules/fieldgroup/fieldgroup.module ./modules/fieldgroup/fieldgroup.module
--- ../cck.orig//modules/fieldgroup/fieldgroup.module	2010-07-06 12:34:26.000000000 -0500
+++ ./modules/fieldgroup/fieldgroup.module	2010-07-06 12:35:00.000000000 -0500
@@ -291,6 +291,11 @@ function _fieldgroup_get_tree($type_name
         "WHERE nfi.widget_active = 1 ORDER BY nfi.weight");
     while ($field = db_fetch_array($result)) {
       $groups[$field['type_name']][$field['group_name']]['fields'][$field['field_name']] = $field;
+
+      // Unserialize arrays.
+      foreach (array('widget_settings', 'display_settings', 'global_settings', 'db_columns') as $key) {
+        $groups[$field['type_name']][$field['group_name']]['fields'][$field['field_name']] = (!empty($groups[$field['type_name']][$field['group_name']]['fields'][$field['field_name']][$key])) ? (array) unserialize($groups[$field['type_name']][$field['group_name']]['fields'][$field['field_name']][$key]) : array();
+      }
     }
   }
 
