loadByAttribute() basically load the product collection and filter those collection by sku and then it return that collection first item as a result.
That particular sku does not exits at result because of
that particular product' does not exits to the products collection
$collection = $this->getResourceCollection()
As per as,magento a product does not visible at collection because of Product's flat setting enable and due to some reason like magento condition like visibility, stock, website,store ,a product not include at product flat collection.
If you load the product by load by
Mage::getModel('catalog/product')->load($id); And this code is direct called of product model that you can get result and also it does not called from collection,just call a particular model by id that