Hi,
> object spy reports it as being visible on screen, but for some reason the Watch details for it show as False for Visible on screen.
VisibleOnScreen is a property that should be used with caution... As it is said in the documentation, VisibleOnScreen is set to True only when the object is visible on screen at the given moment of time. Which means that if the object (control) is overlapped (for example, by TestComplete's UI), its VisibleOnScreen will be set to False. (And back to True if you switch back to the tested application itself). This fact makes debugging of the code that uses VisibleOnScreen a bit problematic (unless you have more than one monitor, so that your tested application is always visible).
One more thing - VisibleOnScreen originates from desktop/web support and personally I would be not much surprised if it has some side effects/specifics on mobiles.
Another thing to consider: wasn't the tested menu scrolled in some way before test code attempted to touch its Flooring item? If it was, then using what means? If the scroll was done from test code via the direct call to some native methods, then it could be that scroll action was not noted by TestComplete and it still considers menu item as not visible on screen.
And the last one for the moment: try to examine in the Object Browser objects that are close to the problematic menu item. It is quite possible that, for example, the item with the Autumn Landscape text overlaps menu item and thus it is considered as not visible on screen. (For example, it may be not clear to TestComplete that the text has transparent background which makes menu item to be visible.)