MySQL has a reputation for recovering poorly from inconsistent disk states, XFS essentially pauses IO to the file system whilst the snapshot takes place. Normally a database does a flush() once a full transaction log entry has been created which indicates essentially a checkpoint to the file system. In the case of a journalling file system, this is important, and for the most part, the file system will recover to the last valid journal entry once mounted, this isn't 100%, but it's better than nothing. Most database systems use the transaction log file to 'roll-forward' on recovery if the database files are behind the transaction logs, and the database engine will only roll forward as much as it can given the contents of the transaction logs. It won't try to roll forward through a partially written transaction. The problem here is that MySQL is not the best at achieving that, so it can absolutely be a problem. I haven't found a solid solution for this, I would imagine running a mirror, pausing MySQL whilst you do the snapshot and then resume synchronization might work, but I don't know if MySQL mirror can cope with a mirror being partially unavailable for awhile and then be able to catch up without a full re-mirror, in which case, you might as well just do a mysqldump of all the databases as it would have about the same effect on the database as running a full mirror. That's the other whilst-running option I can think of -- to run a mysqldump of all databases to a backup partition and snapshot that. Doesn't give you running backups, so you can't do it often, and if you're 24/7, mysqldump puts a heavy load on the database whilst it's running, so far from optimal.
Other database engine are much better at this. PostgreSQL is very good at recovering from an incosistent disk state to the point that they don't recommend running it on a journalled filesystem at all. You also have the option of archiving transaction logs so you can roll forward from the last good full backup up to any point in time where the archived logs exist. Much easier to make consistent backups with this. Oracle will allow you to have multiple sets of transaction logs that switch between physical disks/EBS partitions giving you frequent windows to take a snapshot that is consistent and the ability to indicate to the database engine that you wish to do this, and not to flip back until you say so.
Along the journalling line of thinking, LVM has the ability to snapshot the entire file system in typically under a second. I don't know if the EBS snapshot functionality will take advantage of this, though you could do so manually. LVM is a bit more fiddly than XFS, but I've had issues with XFS in the past crapping out on large numbers of files in a single directory where ext3 was fine. LVM has a bunch of other benefits too, and is definitely worth looking into either way.