Is writing to a virtual dataset meant to work? The only document I can find that says anything about this is the outdated RFC document, which mentions using H5Dwrite on a virtual dataset.
We were asked about this in h5py. I found it partly works in practice, but there seems to be a problem with data conversion - when I wrote int64 data to an int32 virtual dataset, it appeared to skip conversion, so every second value was 0 (details on the h5py issue).