ConfigurationElementCollectionクラスの例に従って、サブクラスを定義してやればいいんじゃないかな。

ArrayListをそのまま保存なんてXmlSerialierでもそのままではできないので無理があるのでは・・
>ApplicationSettingsBaseを継承する方法では普通にシリアライズできているんですが、
普通にユーザスコープにArrayListなんて保存できたの?
自分は無理だったわけですが・・

new XmlSerializer(typeof(Hoge))は遅いけど、初回だけなのでとりあえず、我慢して使ってます。将来的にSgen使う予定
VSで自動的にsgenでシリアライズ用のアセンブリはいてくれればいいのに・・・

System.Configure.*空間の作法に従って実装したほうがいいのかなぁ