Perhaps you should use the extension methods provided in the System.Linq namespace:
using System.Linq;
arrRegion.OfType<Portal.Entidad.Region>().OrderBy(r => r.RegNombre);
arrRegion.Cast<Portal.Entidad.Region>().OrderBy(r => r.RegNombre);
If you have control over the original ArrayList and you can change its type to a typed list like this List<Portal.Entidad.Region>, I would suggest you do this. Then you will not need to throw everything afterwards and may look like this:
var orderedRegions = arrRegion.OrderBy(r => r.RegNombre);