Template variables from active record on NULL value
You don't want to expose a Record to the template level for many reasons, including inadvertently letting a template call record.save() causing unexpected updates to the database, but you also don't want to expose any unnecessary data to the template (like "password", in your example).  A bit more info on that here.

This is where Models come in. They don't have the database overhead and you can limit what gets exposed to the template as well as combine data from multiple records into one model for easy consumption.

Create a MyPlugin_TwitterAccountModel class like so:

class MyPlugin_TwitterAccountModel extends BaseModel
{
    protected function defineAttributes()
    {
        return array(
            'oauth_token' =&gt; AttributeType::String,
            'screenname'  =&gt; AttributeType::String,
        );
    }
}


(include any other attributes your template might access)

Then change your getAllAccounts() method in your service to:

public function getAllAccounts()
{
    $records = MyPlugin_TwitterAccountRecord::model()-&gt;findAll(array('order'=&gt;'oauth_token'));
    return MyPlugin_TwitterAccountModel::populateModels($records);
}


Now your template will only have access to your plugin's model.

Having typed all of that, I literally have no idea if it will solve your original issue.  

It might be some odd bug with Twig's interactions with Records that you're the first to run into since we highly discourage exposing Records to templates.