My understanding of -colorspace, and the internal 'colorspace' image meta-data tag, is that it defines and converts the images in-memory data to correspond to that color space scheme. The color each pixel represents has not changed, just the data representation. As such to me all the original forms, PNG, GIF, etc was correct. Those file formats can not store the color as HSL, so it converts the HSL data representation of the color back to RGB form (with some posible slight quantum rounding effects).
-colorspace does NOT change the color, only the data representation of the color in memory.
If you want to change the what the in-memory data representation is then you can change the color space without coventing the data (so the actual color remains uneffected), by using -set colorspace.
Of course some formats can save colors in a HSL color format, For example MIFF and TXT.
Though for JPG it also requires a color profile for it to work correctly.
NOW it seems you want to output a PNG file where the data in the file is HSL, even though that file format does not support HSL!
You have two solutions. COnvert the image to HSL: colorspace in memory, then tell it is really RGB (for saving purposes).
convert rose: -colorspace HSL -set colorspace RGB save.png
This to me however is a bit of a hack, but then PNG has no flags to tell IM its stores dat is HSL and not RGB.
The other suggestion that Cristy made, as to sepcify an expert option to either set a 'output colorspace'. OR 'use the colorspace meta-data setting'. Again this is a hack as PNG format does not aloos non-RGB color representations.
Basically I think you should back track and define WHAT YOU WANT.
ASIDE: -set colorspace was created to allow you to specify the colorspace color data representation that you are generating with -combine. See IM Examples, Channels, Combining to non-RGB channel images
http://www.imagemagick.org/Usage/channe ... bine_other