Achei o caminho do Zorro… :lol:
O que aconteceu foi o seguinte:
Estava retornando apenas o “Hello”, por que eu não estava lendo todas as linha que o server estava enviando, desta forma a única coisa que eu estava recebendo era a primeira linha.
Vejam a jornada…
Depois da minha ultima msg resolvi então dar um olhada no Livro “Java Como Programar 3ª Ed” (aquele vga hehehe), e no capitulo Rede (da pag 918 à 928) há um exemplo de Socket Client e Server só que ele usa ObjectInputStream, ai que cag… tudo, comecei a receber uma exception “java.io.StreamCorruptedException:invalid stream header” desesperado fiz uma busca no Google e achei a página
http://forum.java.sun.com/thread.jsp?thread=419242&forum=4&message=1861835
onde pude ver que o ObjectInputStream é apenas de o sevidor estiver enviando um objeto, desta forma não ia funcionar nunca…
Também nesta página vi que o que estava sendo usado era:
PrintStream output = new PrintStream(socket.getOutputStream());
BufferedReader input = new BufferedReader(new InputStreamReader(socket.getInputStream()));
Já que o meu sevidor envia um comando string e não Objetos, ou seja, meu projeto estava quase que exatamente como estava na na minha segunda msg, se não fosse por um detalhe: 
Fiz um do {} while para ler a resposta do servidor, da mesma forma que estava no livro.
Eai… Biiinnnggo!!!
Um grande abraço para todos e obrigado pela ajuda e atenção no decorrer do dia todo. 
o código final ficou assim:
[code]
// Só para acressentar estou incluindo
// também a conexão com o socket
private Socket socket ;
try {
socket = new Socket (“127.0.0.1”,35000);
// Envia uma confirmação de conexão para o usuário…
System.out.println(socket.getInetAddress().getHostAddress() + “:” + socket.getPort()
}
catch (Exception e) {
System.out.println(e);
}
// O socket é conectado em um outro metodo…
public String GetAvailableADCGroups(String Oper) {
String lineToBeSent, lineCurrent,lineReturn;
if (socket.isConnected()) {// Verifica se o socket está conectado
try {
// Armazena a string que será enviada
lineToBeSent = “ListaGrupos(” + Oper + “)”;
// Variável que envia o comando
PrintStream output = new PrintStream(socket.getOutputStream());
// Várialvel que retorna o resultado do server
BufferedReader input = new BufferedReader(new InputStreamReader(socket.getInputStream()));
// Enviando a string;
output.println(lineToBeSent);
lineReturn = “”;
// Este foi o pulo do gato, o caminho do zorro…
do {
try {
// Lê linha a linha a ser enviada…
lineCurrent = input.readLine();
// Se a linha lida possui algum valor armazena o resultado
if (!(lineCurrent.trim().equals(“Hello”) && (lineCurrent.trim().length() > 0)) ) {
// Amazena a string com um delimitador próprio “|/@|”
lineReturn += lineCurrent.trim() + “|/@|”; }
// apenas para Debug…
System.out.println(lineCurrent);
}
// Trata as exceções…
catch (Exception e) {
System.out.println(e);
return “”;
}
} while (lineCurrent.trim().length() > 0);
// Fecha o input e o output
input.close();
output.close();
LastResult = “Listagem de grupo DAC carregada”;
// Retorna o valor recebido pelo server…
return lineReturn;
}
catch (IOException e) {
LastResult = "Erro de I/O GetADC: " + e;
return “”;
}
catch (Exception e) {
LastResult = "Falha GetADC: " + e;
return “”;
}
}
else {
LastResult = “Server não conectado”;
return “”;
}
}[/code]