Moin 
Das liegt am Zeichensatz, die meisten MySQL Server mit der Version 4.x sind hier in Deutschland mit "Latin" Zeichensätzen kodiert. Der neue Server läuft wahrscheinlich auf UTF-8 und damit erhöht sich die Byte Anzahl pro Zeichen.
Bei varchar beträgt die maximallänge 65.532 byte, UTF-8 ist aber ein 32 Bit Zeichensatz denn der Zeichensatz UTF-8 könnte mit 16 Bit garnicht die ganzen Zeichen speichern und ist ein 32 bit Zeichensatz.
Einen Versuch, alle gebräuchlichen Schriftsysteme in einem Zeichensatz darstellbar zu machen, also beispielsweise auch die Schriftzeichen aus Silbenschriften wie dem Japanischen, Chinesischen und Koreanischen, hat die ISO mit der Einführung des Unicode unternommen. Unicode war nach der "Basic Multilingual Plane" (BMP; Dt.: "Grundlegende, mehrsprachige Ebene") zunächst ein "Double Byte Character Set"; in diesem Zeichensatz wurde also jedes Zeichen mit 16 Bit codiert; es waren daher also 65.536 Zeichen möglich.
In der Unicode-Version 3.0 vom September 1999 wurden bereits 49.194 Zeichen von 65.536 möglichen Zeichen zugewiesen. In die Version 3.1 vom März 2001 sollten nochmals 44.946 Zeichen, zum Beispiel aus historischen Schriften (etwa Runen oder Hieroglyphen), zusätzlich aufgenommen werden, so dass der Unicode 94.140 Zeichen umfasst. So viele Zeichen sind in 16 Bit pro Zeichen jedoch nicht mehr darstellbar; deswegen werden im Unicode nun 32 Bit (vier Byte) pro Zeichen verwendet, was 4.294.967.296 verschiedene Zeichen ermöglicht.
Nachzulesen ist dies hier ...
mit varchar (240) bei UTF-8 würdest Du aber die maximallänge der Tabelle mit varchar mit 65.532 Zeichen überschreiten.
Nachzulesen hier in der MySQL Doku über varchar
Nun ist zu überlegen was in diesem Tabellenfeld gespeichert werden soll und ob eine kleinere Zeichenzahl nicht vielleicht ausreichend ist?
bei der Spalte `section_value` wäre ein zeichenlänge von 96 Zeichen bestimmt ausreichend genauso wie bei `value` und ´name` da diese nur a) die Gruppe b) die Gruppen ID und c) den Namen enthält. Mit 96 Zeichen bist Du immernoch gut davor pro Datensatz 
Also mach folgendes daraus und dann klappts auch mit UTF-8 und MySQL 5.x 
Code:
# Table structure for table `mos_core_acl_aro`
CREATE TABLE `mos_core_acl_aro` (
`aro_id` int(11) NOT NULL auto_increment,
`section_value` varchar(96) NOT NULL default '0',
`value` varchar(96) NOT NULL default '',
`order_value` int(11) NOT NULL default '0',
`name` varchar(96) NOT NULL default '',
`hidden` int(11) NOT NULL default '0',
PRIMARY KEY (`aro_id`),
UNIQUE KEY `section_value_value_aro` (`section_value`,`value`),
UNIQUE KEY `mos_gacl_section_value_value_aro` (`section_value`,`value`),
KEY `hidden_aro` (`hidden`),
KEY `mos_gacl_hidden_aro` (`hidden`)
) TYPE=MyISAM
= = = = = = = = = =
Wichtig ist noch das die Sprachdateien von Joomla auch mit dem UTF-8 Zeichensatz codiert werden damit Du keine Überraschungen mit den Umlauten erlebst z.B: ?? ansatt ä oder ö etc. 
Einfach "notepad2" besorgen,
bekommst du hier 
Dateien öffnen dann auf FILE > ENCODING > UTF-8 Auswählen, speichern und hochladen. Das muss mit jeder Sprachdatei von jedem Modul/ Componente gemacht werden damit die Dateien im richtigen Zeichensatz codiert sind, die irgendwas mit Sprache oder codierung zu tun haben. Die meisten Entwickler haben bestimmt noch den latin bzw. iso-8859-1 oder iso-8859-2 Zeichensatz verwendet.
In der german.php im languages ordner noch die Zeile
DEFINE('_ISO','charset=iso-8859-1'); (bei mir Zeile 421)
und anstatt iso-8859-1 trägst Du utf-8 ein.
Jetzt sollte alles paletti sein und funzen 
Ich hoffe ich konnte helfen und ein bisschen Licht ins Dunkel von ISO-8859-1 und UTF-8 bringen in verwendung mit MySQL 5 etc. 
LG your-greatest-fan
OPEN SOURCE ROCKZ
Lesezeichen