Python vs Groovy vs Ruby? (based on criteria listed in question)
I know it's not on your list, but at least look at perl.

Richness of Api/Libraries to sink a ship. 
Runs on more systems than most people realise exists. 
Works well with Binary libraries. 
Has a huge community.
Portability, See above.
Database manipulation: more ways to do it. ( Pick your favorite module ) 
And one of the most expressive/terse languages around.
Considering the criteria listed below, which of Python, Groovy or Ruby would you use?

Criteria (Importance out of 10, 10 being most important)
Richness of API/libraries available (eg. maths, plotting, networking) (9)
Ability to embed in desktop (java/c++) applications (8)
Ease of deployment (8)
Ability to interface with DLLs/Shared Libraries (7)
Ability to generate GUIs (7)
Community/User support (6)
Portability (6)
Database manipulation (3)
Language/Semantics (2)