After a log period, i've made an update to the project and brought it to version 0.5. Now the script is compatible with VBox 4.x (downwards to 3.x) and works also for OSE-version.
http://vboxtool.sourceforge.net/

A complete revisionlog:
- This version will break compatability of 2.x versions, i.e. these are not supported anymore
but they may still work
- Extended compatability:
- compatible with version 4.x while providing backwards compatability with 3.x
- compatible with ose version (3.x/4.x) while providing backwards compatability with non-ose
- Option syntax single dash is deprecated in VBox 3.1.x. These should be replaced by a double
dash. (bug 2908385)
- Backup repaired. In 3.x, de extraction for the main vdi-file is changed, grep for "Primary
master" is changed into "(UUID:". Also added log-messages and made copying of snapshots
conditional. (bug 2954442 & 2903768; note that this bug in not entirely solved, because
handling multiple vdi's is not yet supported).
- Extraction of PID for status purposes is made more specific. This is done by using UUID for
identification and an extra grep on "[v]irtualbox". This solves the problem that there are
multiple PID's returned (thus resulting in an error); this is the case when the name of a
session is a substring of another session and also when the name of the session is, by
coincidence the same as another daemon (say: oracle for the vbox-session and for the
database server). (bug 2961192 & 2836110)
- When there is no VRDP-port defined in machines.conf, do not apply this (bug 2893328)
- Repair double dash option syntax in $vbox_command modifyvm $uuid -vrdpport
- Removing the requirement of having a trailing comma in machines.conf (bug 2952485)
- When a vm is not or registered invalid in machines.conf, show and log a warning; this will
facilitate debugging
- Dynamic setting of the vbox starttype: either 'vrdp' or 'headless'. On version 4.x only the
option 'headless' exist, both in ose or non-ose. But in version 3.x, option 'vrdp' is
available, but *only* in the non-ose variant; the ose version only has 'headless'. Using
'headless' on a non-ose version essentially disables vrdp functionallity so it is not safe
to use headless on the only option. The strategy is to find out if a vrdp option is available,
otherwise use headless. This strategy means compatability between 3.x and 4.x to both versions
ose and non-ose.
- bug 3151695
- feature request 2854538
- patch 2948748
- Do not use VRDP because it is deprecated, use VRDE. To provide backwards compatability with 3.x,
the correct syntax is determined dynamically (bug 3518250)
- Do not set VRDP-ports when VRDP is disabled. This is the case when using 3.x/ose or 4.x without
an extension pack. It is not only useless but also risky because the setting seems to work but
the VRDP-port is not stored, so everytime the session starts, the current state is discarded as
the first step of (trying to) set to VRDP-port. Discarding state multiple times can lead to
data loss of session corruption (bug 3518251)
In the meantime, the total download count has reached over 20.000 (since end of 2008 ), so I guess the script is usefull for many people.