A solução parece ser esperar algum tempo antes das ações! Eu não tenho absolutamente nenhuma idéia do porquê disso (comentários, explicações e insights são bem-vindos), mas o script a seguir funciona agora para mim:
#!/bin/bash
MYPWD="mypassword"
expect -c '
spawn zipcloak test.upd
expect "*Enter password*"
sleep 1
send "'"$MYPWD"'\r"
sleep 1
expect "*Verify password*"
sleep 1
send "'"$MYPWD"'\r"
sleep 1
'