Record to tags to record

I’m tinkering with a way to store my own, structured, metadata on files (‘structured’ as opposed to ‘tagging’).
I felt that using openmeta is somewhat less unsafe and more usable than xattr: openmeta backs up the data on its own, and they are accessible with Hazel (and quite a few others).
The downside is that there’s only a single attribute available, so a script needs to do some extra work before writing the meta, and after reading them back in.
I’d like some advice on that part.

Here’s what I came up with:

-- this is how the metadata start out:
set meta to {status:6, context:null, wasReviewed:"mixed", recur:3, nextReview:date "maandag 6 september 2010 08:00:00", NAmissing:false}
-- I soon found that storing a date object was a no-no, so I turn it into string while gathering the stuff:
set meta to {status:6, context:null, wasReviewed:"mixed", recur:3, nextReview:"maandag 6 september 2010 08:00:00", NAmissing:false}
-- I can store only space-separated tags, not a record
-- besides, there's redundancy in the date string; loose the weekday by going via 'short date string':
set meta to {6, null, "mixed", 3, "06-09-2010 08:00:00", false}
-- I also must quote the date, or it will become separate tags
-- build openmeta tagging command
set OMcommand to "openmeta -s " -- base command
-- add the tags
repeat with aTag in meta
	if aTag contains space then
		set aTag to "\"" & aTag & "\""
	end if
	set OMcommand to OMcommand & aTag & space
end repeat
-- add the target
set OMcommand to OMcommand & "-p " & "/Some/File/In/~/Documents/"

Oh good, it works, albeit a bit slow.
Do mdls in Terminal, and see how it looks:

Oh dear.
I figured I could write it as a single tag: replace inter-tag spaces with dots, and the space in the date with +

and simplify the parsing when reading the meta back in.

I’m hoping there’s a better way.