I tossed up a script for you, copy the source and paste in texteditor like notepad, and save it as something.xml. Upload it as a product.
How it works : When on the groups.php page, it does a check on the query string to see if it is do=create, if it is, it counts the amount of groups the user viewing the page has created. If the amount is greater than 0, it returns and error message, if not it permits a user to create a group.
I tossed this up quickly, I believe it's bug free but let me know

. It uses 1 query, 0 file mods and 0 table edits.
Do not reupload, repost or distribute without my permission, please.
Code:
<?xml version="1.0" encoding="ISO-8859-1"?>
<product productid="bellardialimsocgroups" active="1">
<title>LimitSocialGroups</title>
<description>Limit the amount of social groups to 1</description>
<version>0.1</version>
<url />
<versioncheckurl />
<dependencies>
</dependencies>
<codes>
</codes>
<templates>
</templates>
<plugins>
<plugin active="1" executionorder="5">
<title>Limit Social Groups</title>
<hookname>group_complete</hookname>
<phpcode><![CDATA[if ($_GET['do'] == 'create')
{
if($db->num_rows($db->query_read("select * from `".TABLE_PREFIX."socialgroup` where `creatoruserid` = ".$vbulletin->userinfo['userid'].";")) > 0)
{
eval(standard_error(fetch_error('toomany')));
}
}]]></phpcode>
</plugin>
</plugins>
<phrases>
<phrasetype name="Error Messages" fieldname="error">
<phrase name="toomany" date="1231193285" username="elliian" version="0.1"><![CDATA[You are only permitted to create one social group. Please delete your old one before creating another.]]></phrase>
</phrasetype>
</phrases>
<options>
</options>
<helptopics>
</helptopics>
<cronentries>
</cronentries>
<faqentries>
</faqentries>
</product>