I have gpx file (track) in WGS84 (EPSG: 4326) coordinate system from Garmin GPSMAP 62 which is right projected in BaseCamp and MapSource. When I save track as *.GPX and import it to QGIS and use Settings/Project properties/Coordinate Reference System/ and set as EPSG:3787 I get a wrong projected track (cca 300 m western of right position). Thanks!
First, have you checked that the GPX layer has CRS EPSG:4326?
To see if your track is correct you can install openlayers plugin, and show your track on top of Google satellite or OpenStreetMap.
EPSG:3787 is ment for Slovenia, deprecated by EPSG since 2009 (look for change request EPSG::2009.015), and should be replaced by EPSG:3911 and 3912. These are incorporated in latest GDAL 1.9.2 coming with Qgis Master.
Check if your proj string is:
+proj=tmerc +lat_0=0 +lon_0=15 +k=0.9999 +x_0=500000 +y_0=-5000000 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m +no_defs
This might help you understand slovenian problems:
+proj=tmerc +lat_0=0 +lon_0=15 +k=0.9999 +x_0=500000 +y_0=-5000000 +ellps=bessel +towgs84=426.9,142.6,460.1,4.91,4.49,-12.42,17.1 +units=m +no_defs
fits better for you. Qgis Master offers EPSG:3912:
+proj=tmerc +lat_0=0 +lon_0=15 +k=0.9999 +x_0=500000 +y_0=-5000000 +ellps=bessel +towgs84=682,-203,480,0,0,0,0 +units=m +no_defs