A number of customers are using the e2e_appmon probe to drive Citrix-based applications (via both the native client and the web-based client). This document contains a few helpful tips and tricks to ensure success.
It is true that e2e_appmon often "sees" the application as one big window and cannot easily differentiate between various sub-windows on the application GUI. This also means that buttons and text are not necessarily readable as discrete objects.
However, by using Pause on bitmap and/or click on bitmap it is possible -- and common -- to drive the application with very good, maintainable results. Using keyboard shortcuts (and Citrix-specific shortcut keys), it's also possible to avoid mouse click coordinates that can be somewhat difficult to maintain.
One thing to note when replaying recordings of Citrix applications: You will see instances where the clickmouse() function performs a mouse-down in one window, and then the mouse-up occurs in a different window (called TWI-Link). When playing back the script, e2e_appmon will not "see" the TWI-Link window, so you will want to move the mouse-up statement to directly follow the mouse-down statement in your script, so that it is performed in the same window as the mouse-down.