=== modified file 'sites/all/modules/util/system_module.install'
--- sites/all/modules/util/system_module.install	2009-10-14 13:14:59 +0000
+++ sites/all/modules/util/system_module.install	2009-10-15 00:20:55 +0000
@@ -7,14 +7,14 @@
  */
 
 function system_module_install() {
-  drupal_install_schema('system_module_users');
+  drupal_install_schema('system_module');
 }
 
 function system_module_uninstall() {
-  drupal_uninstall_schema('system_module_users');
+  drupal_uninstall_schema('system_module');
 }
 
-function system_module_users_schema() {
+function system_module_schema() {
   // This is not used very much yet.
   // Settings are still saved in user.data field.
   // In next update this module will move away from using user.data and instead use

=== modified file 'sites/all/modules/util/system_module.module'
--- sites/all/modules/util/system_module.module	2009-10-14 13:14:59 +0000
+++ sites/all/modules/util/system_module.module	2009-10-14 13:02:22 +0000
@@ -109,8 +109,14 @@
       unset($form_state['values']['system_module_cfg'][$index]);
     }
   }
-  // Must replace this with drupal_write_record at a later date (once i figure out how to use it correctly!)
-  db_query("REPLACE INTO {system_module_users} SET uid = %d, data = '%s'", $user->uid, serialize($form_state['values']['system_module_cfg']));
+
+  $record = array('uid' => $user->uid, 'data' => serialize($form_state['values']['system_module_cfg']));
+  if (db_result(db_query("SELECT 1 FROM {system_module_users} WHERE uid = %d", $user->uid))) {
+    drupal_write_record('system_module_users', $record, 'uid');
+  }
+  else {
+    drupal_write_record('system_module_users', $record);
+  }
 
   // Save user settings
   user_save($user, array('system_module_cfg' => $form_state['values']['system_module_cfg']));

