Field language - Multi language
I use a function from this blog post to retrieve the fields value, it's quite handy as it allows you to parse the different values of the field (also it handles value or nid).
Drupal 7 tip : Get field values from entity objects like nodes, users, taxonomy...

Regarding the und, I'm not very sure why is this happening, I saw this issue: Field display languages are cached before locale has changed field language, but I have to wrap my head against this.