GSR, I can't comment on all your points, but I can make a few remarks based on personal experience:
You can interface MATLAB with a lot of hardware, but in my experience this can be done more easily, with more hardware, in LabVIEW. We had an NI counter/timer card which was listed as supported by the MathWorks data acquisition toolbox. So we bought the toolbox, only to discover that only the digital I/O functions of the card were supported but not the counter/timer functions (because there are no counter/timer functions in the toolbox). The only reason for using the data acquisition toolbox is if you are a primarily MATLAB user who doesn't want to buy LabVIEW and needs to import data directly to the MATLAB workspace. Despite having a significant MATLAB code base, we bought LabVIEW.
Picture controls allow you draw objects in the LabVIEW front panel. Is this what you meant?
There are a variety of ways of interfacing MATLAB with other programming languages/code, e.g. Java, C, C++, I think FORTRAN and DLLs. You can also use ActiveX.
For data acquisition, I would almost always go for LabVIEW, because of the easier hardware interfacing, more sophisticated GUI design, better multi-threading/timing control and memory management.
For data analysis, I would tend to go for MATLAB in most cases, because of the ease of doing exploratory data analysis, which can then be captured into code, and the better graphics and extensive libraries. Having said that, I recently wrote a data analysis GUI in LabVIEW because I can run this without being connected to my company's network (license server needed for MATLAB and toolboxes).
I'm still wrestling with the various ways of communicating or data transfer between the two environments...
Cheers
Alex (Biometrology)