Are you using file or block i/o volumes?
You didn't comment on the number of disks in your Open-E box or the number or RAID type or the controller, etc.
When the time outs occur, does it correspond with any other activity in the environment (e.g. backups, traffic burst, stored procedures running etc).
Only looking at the CPU utilization on the SAN side is not sufficient. Unfortunately, I feel that the stats on the Open-E side need to be enhanced. Even just giving us the data from "iostat -xk" would be sufficient IMO for disk IO. It gives I/O, bandwidth, queue size, utilization and much better info than vmstat. In short, you are going to have to monitor your consumers of the storage and see what is happening at the time this is going on. You only have a single GB connection and GB Ethernet is very easy to saturate these days so that could also be a contention point. You could use MPIO which was already suggested by Mr. Maxwell.
Lastly, I have no problems running either MSSQL or Oracle as a VM. We do it all the time and get great results. The problem most folks run into with white box sans is unoptimized storage. When you locate a bunch of different Oses with different access patterns and block sizes on the same physical disks, you are sure to degrade performance. Its a hassle to maintain, but having tiers of storage is what the big shops do. It's moviing the storage area network beyond the "network" and into the infrastructure. I call it "SIN".. Storage Infrastructure Networking". Its where you create tiers of storage optimized for different scenarios and using each tier where it functions best and most afford-ably.
Lastly, you should be using block io for database servers. Its better to let the db server do it's own caching as opposed to the Linux page cache. Its why most enterprise shops use ASM/raw disk with Oracle as opposed to having to having a baked file system. Let the database server decide what to cache not the file system.