It sounds like you are using a findBy method in an entity bean. They can return only Collections of keys by design. You need to wrap the entity bean in a session bean. Better yet, if you intend to return a number of rows, skip the entity bean altogether and just have the session bean populate an array or HashMap from a ResultSet.
I've had a similar problem - I am wrapping the entity bean in a session bean, the session bean returns an Iteration but still does not work. I get a 'not serializable' exception. Might consider populating an ArrayList manually in the session bean as you say - but does that not make multi-entity finders useless?