That's functionally equivalent to the code I already posted in my first post.

My code is working - it does what I want. I was merely wondering if the work I'm doing has already been done by Phalcon by the time I call findFirstByKey(). If that data has already been retrieved and parsed by Phalcon, there's no sense me doing it again.

Yes it is the same functionality, but at this example you have only one model which you can use in your function findFirstByKey(), you doesn't need second model and created model as parameter which you can't use later
Better write NFR, maybe this function you try to write could be done in final 1.3 ?

Sorry:
"you doesn't need second model" should be you doesn't need second object :)

class Robots extends \Phalcon\Mvc\Model
{
public static function findFirstByKey()
{
$class = __CLASS__; //in static method get_called_class you get __CLASS__ but in non static method you get controller class name if you call your function from for eg IndexController
$object = new $class(); //you create object which you can use later for whatever you want, you don't need to use new object from another class
$primary_keys = $object->getModelsMetaData()->getPrimaryKeyAttributes( $object ); // you use the same object
}
}

My findFirstByKey() is defined in a BaseModel class that all my models extend. In this situation, calling CLASS gives me BaseModel, but get_called_class() properly gives me Robots. The rest of the code still works, I just needed to keep using get_called_class().