According to this thread, whenever you're trying to interact with the contract's state via truffle develop, you have to do this:
web3.eth.defaultAccount = web3.eth.accounts[0];
Why isn't this done by default, like with the migrate command which deploys the contract from the first address in the generated account list?