Fatti:
A. Il 27 aprile 2001 B._SA - ora in liquidazione - ha sottoposto alla A._SA un'offerta per la fornitura di un calcolatore con schermo di marca Compaq e del programma di contabilità X._, per un prezzo complessivo di fr. 27'823.60. Questo importo includeva anche la fatturazione a regia di fr. 165.-- orari per l'installazione e la formazione del personale, nonché la fatturazione a corpo di fr. 450.-- per l'assistenza telefonica e di fr. 4'000.-- annuali per l'aggiornamento dei programmi.
L'offerta essendo stata accettata, il 2 maggio 2001 un tecnico della ditta fornitrice si è recato presso gli uffici della A._SA per istallare il programma di contabilità; senza successo, poiché pareva esservi incompatibilità con una versione non aggiornata del programma Y._ del sistema informatico della cliente. Il mattino del giorno successivo il tecnico ha quindi proceduto a istallare sul server la nuova versione di tale programma, in modo da permettere il funzionamento del programma X._. Sennonché questo intervento ha causato il blocco del programma Z._, già presente nel sistema informatico della A._SA. Il pomeriggio del 3 maggio 2001 è pertanto intervenuto un secondo tecnico della B._SA, il quale ha iniziato ad effettuare il backup dei dati e le necessarie ricerche diagnostiche. L'attività dei due tecnici non è però andata oltre, poiché il mattino del giorno seguente la A._SA ha impedito loro di riprendere il lavoro. Il 7 maggio 2001 ha poi disdetto formalmente per motivi gravi il contratto con B._SA.
B. Il 2 ottobre 2001 la A._SA ha convenuto B._SA davanti al Pretore di Mendrisio-Sud con un'azione volta al pagamento di fr. 68'980.50, suddivisi in fr. 13'505.70 per spese di ripristino del sistema informatico ad opera di altri tecnici e fr. 55'474.80 per perdita di guadagno.
L'attrice ha in particolare rimproverato alla convenuta di non essersi accorta subito dell'incompatibilità dei programmi e di essere poi stata negligente nell'operare sul server, dato che lo ha bloccato, causando così l'interruzione dell'attività per cinque giorni.
Dal canto suo, la convenuta ha contestato il blocco e ha obiettato che le difficoltà manifestatesi durante l'istallazione del nuovo programma erano dovute alle carenze del sistema informatico dell'attrice; esse avrebbero comunque potuto venir sistemate se i suoi tecnici avessero potuto continuare il lavoro. In via riconvenzionale la convenuta ha pertanto domandato la condanna dell'attrice al pagamento di fr. 36'173.60, di cui fr. 32'273.60 corrispondenti all'interesse all'esecuzione del contratto e fr. 3'900.-- al lavoro eseguito.
Con sentenza del 28 marzo 2006 il Pretore ha respinto l'azione principale e accolto parzialmente quella riconvenzionale, obbligando l'attrice a pagare fr. 4'350.--.
C. L'impugnativa interposta dalla A._SA contro la pronunzia pretorile è stata respinta dalla II Camera civile del Tribunale d'appello del Cantone Ticino il 25 maggio 2007.
D. Tempestivamente insorta dinanzi al Tribunale federale con un ricorso in materia civile, la A._SA postula, in via principale, la modifica della sentenza emanata dalla massima istanza cantonale nel senso di accogliere il suo appello e, quindi, accogliere la petizione e respingere l'azione riconvenzionale; in via subordinata chiede che la sua petizione sia accolta limitatamente a fr. 13'505.70 e la domanda riconvenzionale respinta.
Con risposta del 14 settembre 2007 B._SA ha proposto la reiezione integrale del gravame e la conseguente conferma della sentenza del Tribunale d'appello.
L'autorità cantonale ha invece rinunciato a presentare osservazioni.
Diritto:
1. Il 1° gennaio 2007 è entrata in vigore la Legge sul Tribunale federale (LTF, RS 173.110; RU 2006 1205, 1241). Poiché la decisione in concreto impugnata è stata pronunciata dopo questa data, la procedura ricorsuale è disciplinata dalla nuova normativa (art. 132 cpv. 1 LTF).
2. Il Tribunale federale si pronuncia d'ufficio e con pieno potere d'esame sulla propria competenza e sull'ammissibilità del rimedio esperito (art. 29 cpv. 1 LTF; DTF 133 III 462 consid. 2).
2.1 Interposto tempestivamente (art. 100 cpv. 1 LTF) dalla parte soccombente in sede cantonale (art. 76 cpv. 1 lett. a LTF) contro una decisione finale (art. 90 LTF) pronunciata dall'autorità ticinese di ultima istanza (art. 75 cpv. 1 LTF) in una causa civile di carattere pecuniario, concernente una controversia il cui valore litigioso supera fr. 30'000.-- (art. 74 cpv. 1 let. b LTF), il ricorso risulta ricevibile.
2.2 Prima ancora di chinarsi sull'argomentazione ricorsuale va trattata la richiesta della ricorrente di indire un dibattimento, giusta l'art. 57 LTF.
L'art. 57 LTF concede effettivamente al Presidente della Corte adita la facoltà di ordinare un dibattimento. Si tratta tuttavia, al pari di quanto prevedeva l'OG abrogata, di una misura eccezionale (cfr. Stefan Heimgartner/Hans Wiprächtiger in: Basler Kommentar, n. 1 e 2 ad art. 57 LTF), non da ultimo perché il Tribunale federale è in ogni caso, di regola, vincolato ai fatti accertati dall'autorità cantonale (cfr. art. 105 cpv. 1 LTF; Stefan Heimgartner/Hans Wiprächtiger, op. cit., n. 9 ad art. 57 LTF).
La domanda di dibattimento formulata nel gravame in rassegna non può essere accolta. I motivi addotti a sostegno di tale richiesta - la necessità di "far valere con fermezza" gli errori commessi dai giudici cantonali e di "discutere la natura giuridica del contratto" - non sono infatti suscettibili di giustificare un dibattimento, giacché la ricorrente ha potuto proporre i propri argomenti nell'atto scritto, senza restrizioni di sorta.
2.3 Nel suo allegato la ricorrente si duole della violazione del diritto federale, che il Tribunale federale applica d'ufficio (art. 95 lett. a combinato con l'art. 106 cpv. 1 LTF), e dell'apprezzamento inesatto dei fatti (art. 97 cpv. 1 LTF).
Come già accennato, in forza dell'art. 105 cpv. 1 LTF il Tribunale federale fonda di principio il suo ragionamento giuridico sull'accertamento dei fatti dell'autorità inferiore; può scostarsene solo se esso è stato svolto in modo manifestamente inesatto o in violazione del diritto ai sensi dell'art. 95 (art. 105 cpv. 2 LTF).
Incombe alla parte che propone una fattispecie diversa da quella contenuta nella sentenza impugnata il compito di esporre in maniera circostanziata il motivo che la induce a ritenere adempiute le condizioni di una delle eccezioni previste dall'art. 105 cpv. 2 LTF (art. 97 cpv. 1 LTF); occorre inoltre che l'eliminazione dell'asserito vizio possa influire in maniera determinante sull'esito della causa (art. 97 cpv. 1 seconda parte LTF). Altrimenti non si può tener conto di una fattispecie diversa da quella esposta nella decisione impugnata.
In concreto, come si dirà meglio in seguito, la ricorrente contesta ripetutamente gli accertamenti di fatto della sentenza cantonale senza attenersi alle esigenze di motivazione appena esposte, ciò che rende i suoi argomenti parzialmente inammissibili.
3. Nella sentenza impugnata, la Corte cantonale ha innanzitutto ricordato che la natura giuridica del contratto avente per oggetto la consegna di un sistema informatico composto di software e hardware va determinata sulla base delle circostanze del caso concreto (DTF 124 III 456 consid. 4b). Il contratto stipulato dalle parti in causa è stato qualificato quale contratto di vendita, poiché incentrato sulla messa a disposizione del programma di contabilità standard X._, destinato a un'utenza generica, mentre la sua installazione è da considerarsi accessoria rispetto alla prestazione principale.
I giudici ticinesi hanno in seguito osservato che, contrariamente a quanto avviene nel contratto di appalto, la garanzia per i difetti dell'art. 205 cpv. 1 CO dà al compratore la facoltà di promuovere un'azione redibitoria o estimatoria, non invece quella di chiedere la riparazione gratuita. Ciò non impedisce tuttavia alle parti di concordare una simile possibilità, così come accaduto nel caso specifico. L'autorità ticinese ha quindi rimproverato all'acquirente (qui ricorrente) di non aver rispettato le formalità previste dall'art. 107 segg. CO o, per analogia, dall'art. 366 cpv. 2 CO, omettendo in particolare di assegnare alla ditta venditrice (qui opponente) un termine adeguato per ovviare agli inconvenienti prima di recedere dal contratto. Ne ha concluso che la rinuncia ai lavori di ripristino espressa il mattino del 4 maggio 2001 non può avere gli effetti previsti dall'art. 107 cpv. 2 CO, ma va piuttosto intesa - sempre per analogia - quale dichiarazione di recesso nel senso dell'art. 377 CO, con la conseguenza che la venditrice è stata liberata dall'obbligo di riparare il difetto e può esigere il pagamento del lavoro eseguito e il risarcimento di ogni danno.
4. Dinanzi al Tribunale federale la ricorrente rimprovera in primo luogo alla Corte cantonale di aver emanato un giudizio confuso perché, dopo aver qualificato l'accordo venuto in essere fra le parti quale contratto di compravendita, ha applicato le disposizioni dell'appalto. La ricorrente nega inoltre l'esistenza di una convenzione per la riparazione gratuita, prestazione non contemplata nell'offerta dell'opponente, e che andrebbe comunque ammessa a condizioni restrittive. È opportuno iniziare dall'esame di quest'ultima critica.
4.1 La sentenza cantonale accerta che la ricorrente ha dichiarato a più riprese - nella replica, nella duplica riconvenzionale, nelle conclusioni e nell'appello - di aver dato all'opponente la possibilità di rimediare alle sue inadempienze. Si tratta di fatti procedurali (Prozessstoff) che la ricorrente non contesta e che vincolano il Tribunale federale (art. 105 cpv. 1 LTF). Nella misura in cui mette in dubbio l'esistenza dell'accordo sulla riparazione gratuita, la censura ricorsuale si avvera pertanto inammissibile (cfr. quanto già esposto al consid. 2.3).
4.2 Per il rimanente è infondata. Le disposizioni legali sulla garanzia per i difetti della cosa venduta hanno carattere dispositivo; le parti possono dunque limitarne o sopprimerne la portata (art. 199 CO; DTF 124 III 356 consid. 4b/aa in fine a pag. 460; 91 II 344 consid. 2 citata nel ricorso). Qualora il contratto iniziale fosse silente, nulla impedisce loro di concordare successivamente la riparazione gratuita, come è accaduto nel caso in esame, secondo le ammissioni incontrovertibili della stessa ricorrente, tant'è che i tecnici dell'opponente hanno effettivamente cercato, in un primo tempo, di porre rimedio agli inconvenienti verificatisi. In simili circostanze non è necessario valutare le condizioni - restrittive o meno - alle quali le parti possono pattuire una garanzia di riparazione.
4.3 Se le parti si accordano per la riparazione gratuita del difetto, la pretesa corrispondente dell'acquirente è retta dagli art. 97 segg. CO: sono in particolare applicabili l'art. 102 CO sulla messa in mora nonché gli art. 107 e 108 CO sul diritto di recedere dal contratto, con o senza fissazione previa di un termine (DTF 91 II 344 consid. 3a). La sentenza cantonale rispetta quindi il diritto federale anche sotto questo profilo; poco importa che, a proposito dell'assegnazione del termine, essa faccia anche riferimento al disposto analogo dell'art. 366 cpv. 2 CO.
5. La ricorrente ammette implicitamente di non aver diffidato l'opponente ad adempiere l'obbligo di riparazione entro un termine congruo. A suo modo di vedere, essa poteva tuttavia recedere dal contratto prescindendo da tale modalità, così come previsto dall'art. 108 CO, vista la manifesta incapacità dell'opponente di rimediare ai problemi riscontrati e i ritardi da questa cumulati, allorquando la riparazione era urgente.
5.1 L'argomento fondato sull'art. 108 CO, secondo cui la fissazione di un termine per la riparazione sarebbe stata in ogni caso inutile, si scontra con gli accertamenti di fatto eseguiti dalla Corte cantonale. D'un canto i giudici ticinesi hanno accertato che la stessa ricorrente aveva in un primo tempo - la sera del 3 maggio 2001 - autorizzato i tecnici dell'opponente a ripresentarsi il giorno dopo per terminare il lavoro; dall'altro, dalla perizia giudiziaria è emerso che la riparazione era senz'altro fattibile.
In queste circostanze, è a ragione che i giudici cantonali, costatata l'assenza della diffida prevista dall'art. 107 cpv. 1 CO, hanno concluso che la ricorrente non è receduta regolarmente dal contratto e non può, pertanto, chiedere il risarcimento del danno.
5.2 La ricorrente tenta di dedurre il suo diritto di recedere dal contratto anche dalla dottrina per la quale il patto sulla riparazione gratuita non esclude l'azione redibitoria dell'art. 208 CO (recte 205 CO).
L'affermazione è giusta solo nel suo principio: è vero che l'accordo per la riparazione gratuita del difetto non esclude necessariamente la garanzia legale (DTF 91 II 344 consid. 2); tuttavia, prima di far valere i diritti derivanti da quest'ultima, l'acquirente scontento deve rispettare gli accordi e dare al venditore la possibilità di riparare il difetto. Nel caso specifico ciò non è avvenuto, dal momento che, come già detto, stando quanto accertato nel giudizio impugnato la ricorrente ha impedito ai tecnici dell'opponente di proseguire i lavori di riparazione per i quali essi si erano ripresentati nei suoi uffici la mattina del 4 maggio 2001, in conformità con quanto pattuito il giorno precedente.
6. Riprendendo una tesi già fatta valere nella procedura cantonale, la ricorrente si prevale poi di una disdetta del contratto per motivi gravi, significata il 7 maggio 2001.
I giudici ticinesi - dopo essersi chiesti se un atto simile sia ipotizzabile nell'ambito di una fattispecie retta dagli art. 97 e 197 segg. CO - hanno respinto questa tesi per diverse ragioni.
Non è necessario esaminarle nel dettaglio perché, nel censurarle davanti al Tribunale federale, la ricorrente si limita a riprodurre ampi passaggi della perizia giudiziaria e delle deposizioni testimoniali; propone quindi una propria versione dei fatti, inammissibile, senza dimostrare la manifesta inesattezza di quella accertata dall'autorità cantonale rispettivamente la violazione dell'art. 95 LTF. Anche su questo punto il gravame si avvera dunque inammissibile per carente motivazione (cfr. quanto già esposto al consid. 2.3).
7. Per statuire sull'azione riconvenzionale la Corte cantonale ha considerato che la rinuncia al contratto messa in atto dalla ricorrente equivale, per analogia, a una dichiarazione di recesso nel senso dell'art. 377 CO, per cui l'opponente è liberata dall'obbligo di riparare i difetti e ha diritto al pagamento del lavoro svolto e al risarcimento di ogni danno. I giudici ticinesi hanno pertanto confermato la sentenza del pretore su questo punto, che aveva condannato la ricorrente a rifondere all'opponente fr. 4'350.--, precisando che tale importo non è stato contestato in modo processualmente corretto in sede di appello.
7.1 La ricorrente obietta che l'art. 208 cpv. 1 e 2 CO impone alle parti di restituirsi le prestazioni reciproche e rileva come nel caso specifico tale scambio non sia possibile, siccome il programma acquistato non è stato installato e la controprestazione non è stata pagata. Aggiunge che, non essendo stata eseguita la prestazione principale, non sarebbe dovuto nessun rimborso nemmeno per quella accessoria.
7.2 Ora, l'art. 208 CO definisce le conseguenze della risoluzione del contratto giusta l'art. 205 CO. S'è però visto che lo scioglimento del contratto da parte della ricorrente non è avvenuto conformemente a questa norma né all'art. 107 CO. Ciò significa che la pretesa riconvenzionale non può essere esaminata alla luce dell'art. 208 CO.
Non è tuttavia di per sé nemmeno necessario ricorrere all'analogia dell'art. 377 CO. La ricorrente può infatti essere chiamata a risarcire il danno per inadempimento, in applicazione dell'art. 97 cpv. 1 CO, poiché la Corte cantonale ha accertato che fu lei a dichiarare il recesso, senza che vi fossero motivi gravi imputabili all'opponente.
Come già detto, la ricorrente contesta l'accertamento concernente l'inesistenza di motivi gravi suscettibili di giustificare la rescissione immediata del contratto; gli argomenti da lei esposti sono tuttavia inammissibili per i motivi esposti al consid. 6.
7.3 A prescindere dal fatto che la ricorrente nemmeno assevera che la Corte ticinese avrebbe disatteso la nozione di danno, vale la pena di osservare che la sentenza impugnata è corretta anche sotto questo profilo.
Infatti, qualora il danno sia da ricondursi ad una violazione contrattuale, come nel caso in esame, la parte danneggiata può pretendere il risarcimento del cosiddetto interesse positivo; in altre parole essa ha diritto alla differenza fra lo stato attuale del suo patrimonio e quello presumibile qualora il contratto fosse stato correttamente adempiuto (Gauch/Schluep/Schmid/Rey, Schweizerisches Obligationenrecht Allgemeiner Teil, 8a ed. Zurigo 2003, vol. II, n. 2723; sulla nozione di danno cfr. DTF 133 III 462 consid. 4.4.2 pag. 471).
Il danno che in concreto i giudici ticinesi hanno riconosciuto in via riconvenzionale all'opponente corrisponde a questa definizione, poiché la somma di fr. 4'350.-- si compone di fr. 3'900.--, pari al costo degli interventi eseguiti dall'opponente dal 2 maggio al 4 maggio 2001 (damnum emergens), e dei fr. 450.-- ch'essa avrebbe incassato (lucrum cessans) se avesse prestato la consulenza telefonica pattuita a corpo nell'offerta (sulla nozione di damnum emergens e lucrum cessans cfr. Gauch/Schluep/Schmid/Rey, op. cit., n. 2730).
8. Da tutto quanto esposto discende che il Tribunale d'appello non ha violato il diritto federale confermando la reiezione dell'azione principale e l'accoglimento parziale di quella riconvenzionale.
Il ricorso va pertanto respinto nella misura in cui è ammissibile.
Le spese giudiziarie e le ripetibili seguono la soccombenza (art. 66 cpv. 1 e 68 cpv. 1 LTF).
Il Tribunale federale pronuncia:
1. Nella misura in cui è ammissibile, il ricorso è respinto.
2. Le spese giudiziarie di fr. 4'000.-- sono poste a carico della ricorrente, con l'obbligo di rifondere all'opponente fr. 5'000.-- per ripetibili della sede federale.
3. Comunicazione ai patrocinatori delle parti e alla II Camera civile del Tribunale d'appello del Cantone Ticino.