First, you don't have a semicolon at the end of "var int position" line.
If this is not the whole problem you can try to assign the array element to a variable of the right type and then use it for the call:
var int position;
var Block block;
while (index< numberOfBlocks){
let block = blocks[index];
let position = block.aMethod();
...
}
P.S. I don't have the time to dive into this more at the moment. But it's important to know if it's a real problem with Jack or just some minor syntax error. I think it's the former and I think the reason for this is that arrays in Jack don't really carry the type of their elements.
It's been some time now since I last used Jack, so I don't remember the details and I may be wrong. Please correct me, if that's the case.