Yes your 2.0 application will work on the computer which has 4.0 framework. Backward compatibility is there in dot net 4.0.
For more information have a look at this msdn article
MSDN says
However, in practice, this
compatibility can be broken by
seemingly inconsequential changes in
the .NET Framework and changes in
programming techniques. For example,
performance improvements in the .NET
Framework 4 can expose a race
condition that did not occur on
earlier versions. Similarly, using a
hard-coded path to .NET Framework
assemblies, performing an equality
comparison with a particular version
of the .NET Framework, and getting the
value of a private field by using
reflection are not backward-compatible
practices. In addition, each version
of the .NET Framework includes bug
fixes and security-related changes
that can affect the compatibility of
some applications and components.
However you need to target the supportedruntime to 4.0 in your 2.0 application configuration file.