Technically there is no reason why a non MS client couldn't use a DataSet. However Datasets do include several MS 'features' (anything in the msdata namespace) you may encounter errors with other clients. Datasets also can be on the heavy side and may cause issues with limited bandwidth.
I personally would tend to create my own data types (classes, arrays etc) and, after use of the attributes from the System.Xml namespace, return these from the web methods - you still get a valid schema definition without the overheads.