По первому вопросу: из-за одинаковых переменных точно не может быть, чтобы понять в чем дело, нужен код библиотек и код на MP. По второму - массив передать нельзя, можно сделать так, чтобы массив с определенным именем создавался в программе, а библиотека напрямую читала данные из него. В java массивы создаются так:
public static String mass[]=null;
.....
mass=new String[10];//10-число элементов, нумерация с 0.