I don't really know all that much about the hal output, but looking at your post more carefully, I think you're probably using the wrong config file.
IvmConfigConditions.xml is generally for when some device sends a signal or something, such as when a laptop's suspend button is pressed. If you want a command to run when a device is physically added or removed, you should be using IvmConfigActions.xml. And in that file, you specify the device (or type of device) to match, then use exec to run a command when that device is added, and execun when the device is removed.
If I'm following the comments in the file correctly, the following should run your scripts on any mountable block devices. I haven't actually tested it though.
Code:
<ivm:Match name="ivm.mountable" value="true">
<ivm:Option name="exec" value="/path/to/my_add_script.sh" />
<ivm:Option name="execun" value="/path/to/my_remove_script.sh" />
</ivm:Match>
If you want to specify a specific device, you can get the name of it to match by using lshal. In general I think you can use just about any line it gives, but the info.product lines seem to be the best for device matching. Then you can add the line to the block above:
Code:
<ivm:Match name="ivm.mountable" value="true">
<ivm:Match name="hal.info.product" value="Name Of Device">
<ivm:Option name="exec" value="/home/david/my_add_script.sh" />
<ivm:Option name="execun" value="/home/david/my_remove_script.sh" />
</ivm:Match>
HTH!