When creating tests using sfBrowser, I've tried using setField() to set values in forms where part of the field name includes [0]. This doesn't work due to the use of array_filter in the parseArgumentAsArray function (line 440 in /lib/symfony/utils/sfBrowser.class.php); array_filter is evaluating 0 to be equal to false.
For example:
$browser->setField('my_item[0][name]', 'My First Item'); // does not work.
$browser->setField('my_item[1][name', 'My Second Item'); // does work.
Instead of using array_filter to discard empty index values retrieved from preg_split (also line 440), add a check for strlen($tmp) > 0 in the following foreach statement (line 442). It produces the same effect, but allows you to use [0] array indices.