You are absolutely right. I've given incorrect information and not proper definition of the situation.
In my tests I'm using:
public TControl Get<
>(params string clauses) where TControl : ArtOfTest.WebAii.Controls.Xaml.IFrameworkElement;
method of ArtOfTest.WebAii.TestTemplates.XamlElementContainer class to locate elements by XamlPath.
As you suggested I've tried locating them by XamlPath with
public virtual T ByExpression(V expression);
method of ArtOfTest.WebAii.Silverlight.VisualFind class and element is found successfully.
So I restate the original post. Problem is in Get method giving TimeoutException trying to locate the element while Find.ByExpression method locates it correctly.
I'm attaching screenshot trying to visualise code I'm using and where exception is thrown. When button is shown both Find and Get are able to locate element and get its IsVisible property. When element is hidden Find is able to locate the element and gets its IsVisible property while Get fails giving an exception.