this is one of those problem that you can clearly see but you have no idea how to debug

So, the situation.
I have one of these relay board
http://www.dx.com/p/arduino-2-channel-r ... nEfDErhDIU
and, until yesterday, i'd say that "it works"
Where "it works" means that i can easily control something through it (the load isn't relevant for this, btw the specific is a 12v solenoid valve)
It is connected, as output, to a MCP23017 chip. The chip also controls a HD44780 display and has a couple of input pins,
Both the MCP and the relay are powered by a dedicated power supply (not the PI), that is this
http://www.dx.com/p/3-3v-5v-power-suppl ... nEf7krhDIU
(common ground with raspberry, ok)
Now, the problem:
When the relay is toggled ON, no problem at all. The valve starts, the display works, everything is ok.
BUT
When the relay is toggled OFF, something happens.
The valve stops with no problem, BUT:
- sometimes i can see a fake interrupt on input switches
- sometimes the display shows "corrupt" chars
And i underline SOMETIMES, because sometimes it works all as expected

So, what can be the source of the problem?
The easiest idea i can have is a spike on power (5V) that flows to the 3,3V line on the MCP. I expected the power source to be stabilized, but maybe it is not..
But this is because i like to think that no spike is returned to the mcp by the relay! is this the case? ame is a master to understand relay boards looking at them on dx

Last but not least, can it be a "interference" problem? (very very hard, for me)
And, finally, can i help something adding some capacitors here and there? and, if yes, what capacity have i to use? for data lines? for power lines?
Thanks all
