I have found in literature that a wait statement or sensitivity list are quite the same:
http://books.google.co.uk/books?id=awwpc50wchic&pg=pa66&lpg=pa66&dq=sensitivity+list+or+wait+statement&source=bl&ots=i42vyvfr_9&sig=vz8md6xvxykk3gz0e5dipy20qxu&hl=en&ei=trgcsuseoopujaetquwgcg&sa=x&oi=book_result&ct=result&resnum=3#v=onepage&q=&f=false the first example does not use a "clk'event" or "wait" statement.
http://books.google.co.uk/books?id=aahqr-mxr94c&pg=pa280&lpg=pa280&dq=vhdl+rising_edge+vs+sensitivity+list&source=bl&ots=zwvyao1msc&sig=bnff4nmy2y5z0lf4gpybivn7nmw&hl=en&ei=mbocsrskg9zajqfvuix-cq&sa=x&oi=book_result&ct=result&resnum=3#v=onepage&q=&f=false the second example explains that it is safer to be more explicit.
But normaly
process(clk)
if(clk='1')
and
process(clk)
if(clk'event and clk='1')
should be equivalent.
I added the clk'event in my first condition but the problem is still there:
When I test my entity alone, it works well
But When I use it with others entities it does not work every times, the simple modification of a constant in an other entity connected to my serial interface affects the behaviour of my serial interface entity. ... :-S
thanks again
Denis